php自定义函数实现JS的escape的方法示例


Posted in PHP onJuly 07, 2016

本文实例讲述了php自定义函数实现JS的escape的方法。分享给大家供大家参考,具体如下:

//php function
function escape($string) {
    $n = $bn = $tn = 0;
    $output = '';
    $special = "-_.+@/*0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ";
    while($n < strlen($string)) {
        $ascii = ord($string[$n]);
        if($ascii == 9 || $ascii == 10 || (32 <= $ascii && $ascii <= 126)) {
            $tn = 1;$n++;
        } elseif(194 <= $ascii && $ascii <= 223) {
            $tn = 2;$n += 2;
        } elseif(224 <= $ascii && $ascii <= 239) {
            $tn = 3;$n += 3;
        } elseif(240 <= $ascii && $ascii <= 247) {
            $tn = 4;$n += 4;
        } elseif(248 <= $ascii && $ascii <= 251) {
            $tn = 5;$n += 5;
        } elseif($ascii == 252 || $ascii == 253) {
            $tn = 6;$n += 6;
        } else {
            $n++;
        }
        $singleStr = substr($string,$bn,$tn);
        $charVal = bin2hex(iconv('utf-8', 'ucs-2', $singleStr));
        if(base_convert($charVal, 16, 10) > 0xff) {
           if (!preg_match("/win/i", PHP_OS))
            $charVal = substr($charVal, 2, 2).substr($charVal, 0, 2);
          $output .= '%u' . $charVal;
        }
        else {
            if(false !== strpos($special, $singleStr))
               $output .= $singleStr;
            else
               $output .="%" . dechex(ord($string[$bn]));
        }
     $bn = $n;
    }
    return $output;
}

希望本文所述对大家PHP程序设计有所帮助。

PHP 相关文章推荐
汉字转化为拼音(php版)
Oct 09 PHP
给初学PHP的5个入手程序
Nov 23 PHP
解析:通过php socket并借助telnet实现简单的聊天程序
Jun 18 PHP
PHP时间格式控制符对照表分享
Jul 23 PHP
CodeIgniter使用phpcms模板引擎
Nov 12 PHP
免费手机号码归属地API查询接口和PHP使用实例分享
Apr 10 PHP
两个php日期控制类实例
Dec 09 PHP
PHP检测用户是否关闭浏览器的方法
Feb 14 PHP
PHP模拟post提交数据方法汇总
Feb 16 PHP
详谈symfony window下的安装 安装时候出现的问题以及解决方法
Sep 28 PHP
PHP开发中解决并发问题的几种实现方法分析
Nov 13 PHP
详解json在php中的应用
Sep 30 PHP
PHP使用mysql与mysqli连接Mysql数据库用法示例
Jul 07 #PHP
PHP使用自定义方法实现数组合并示例
Jul 07 #PHP
PHP记录和读取JSON格式日志文件
Jul 07 #PHP
thinkPHP+PHPExcel实现读取文件日期的方法(含时分秒)
Jul 07 #PHP
PHP识别二维码的方法(php-zbarcode安装与使用)
Jul 07 #PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
Jul 06 #PHP
PHP判断JSON对象是否存在的方法(推荐)
Jul 06 #PHP
You might like
PHPCMS的使用小结
2010/09/20 PHP
比较简单的百度网盘文件直链PHP代码
2013/03/24 PHP
php图片的二进制转换实现方法
2014/12/15 PHP
PHP入门教程之表单与验证实例详解
2016/09/11 PHP
PHP 信号管理知识整理汇总
2017/02/19 PHP
thinkphp5修改view到根目录实例方法
2019/07/02 PHP
使用JQuery进行跨域请求
2010/01/25 Javascript
《JavaScript高级程序设计》阅读笔记(一) ECMAScript基础
2012/02/27 Javascript
使用CSS3的scale实现网页整体缩放
2014/03/18 Javascript
javascript 获取函数形参个数
2014/07/31 Javascript
jQuery 实现评论等级好评差评特效
2016/05/06 Javascript
分享一个原生的JavaScript拖动方法
2016/09/25 Javascript
原生js实现addclass,removeclass,toggleclasss实例
2016/11/24 Javascript
javascript实现循环广告条效果
2017/12/12 Javascript
vuejs实现标签选项卡动态更改css样式的方法
2018/05/31 Javascript
在小程序/mpvue中使用flyio发起网络请求的方法
2018/09/13 Javascript
老生常谈JavaScript获取CSS样式的方法(兼容各浏览器)
2018/09/19 Javascript
详解JavaScript中关于this指向的4种情况
2019/04/18 Javascript
Pandas标记删除重复记录的方法
2018/04/08 Python
opencv python 图像去噪的实现方法
2018/08/31 Python
浅谈Python的list中的选取范围
2018/11/12 Python
python按照多个条件排序的方法
2019/02/08 Python
Python使用pyserial进行串口通信的实例
2019/07/02 Python
用Python写一个自动木马程序
2019/09/17 Python
Jupyter Notebook的连接密码 token查询方式
2020/04/21 Python
python能自学吗
2020/06/18 Python
matplotlib实现数据实时刷新的示例代码
2021/01/05 Python
详解appium自动化测试工具(monitor、uiautomatorviewer)
2021/01/27 Python
HTML5等待加载动画效果
2017/07/27 HTML / CSS
详解html5 shiv.js和respond.min.js
2018/01/24 HTML / CSS
使用HTML5 Geolocation实现一个距离追踪器
2018/04/09 HTML / CSS
工程造价与管理专业应届生求职信
2013/11/23 职场文书
集团公司总经理岗位职责
2013/12/20 职场文书
学校消防演习方案
2014/02/19 职场文书
市场营销专业毕业生求职信
2014/03/26 职场文书
商场客服专员岗位职责
2014/06/13 职场文书