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
重新封装zend_soap实现http连接安全认证的php代码
Jan 12 PHP
php 模拟GMAIL,HOTMAIL(MSN),YAHOO,163,126邮箱登录的详细介绍
Jun 18 PHP
注意:php5.4删除了session_unregister函数
Aug 05 PHP
ThinkPHP模板替换与系统常量及应用实例教程
Aug 22 PHP
IIS下PHP的三种配置方式对比
Nov 20 PHP
推荐10个提供免费PHP脚本下载的网站
Dec 31 PHP
PHP中使用break跳出多重循环代码实例
Jan 21 PHP
php自定义分页类完整实例
Dec 25 PHP
Laravle eloquent 多对多模型关联实例详解
Nov 22 PHP
解决Laravel 不能创建 migration 的问题
Oct 09 PHP
laravel 解决ajax异步提交数据,并还回填充表格的问题
Oct 15 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
php替换字符串中间字符为省略号的方法
2015/05/04 PHP
thinkPHP中多维数组的遍历方法
2016/01/09 PHP
PHP模板引擎Smarty自定义变量调解器用法
2016/04/11 PHP
PHP自定义多进制的方法
2016/11/03 PHP
php+ajax+json 详解及实例代码
2016/12/12 PHP
js AspxButton的客户端操作
2009/06/26 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
JS判断字符串长度的5个方法(区分中文和英文)
2014/03/18 Javascript
用jQuery toggleClass 实现鼠标移上变色
2014/05/14 Javascript
自写的jQuery异步加载数据添加事件
2014/05/15 Javascript
javascript获取四位数字或者字母的随机数
2015/01/09 Javascript
jquery zTree异步加载、模糊搜索简单实例分享
2016/03/24 Javascript
JS原型链 详解及示例代码
2016/09/06 Javascript
IE8中jQuery.load()加载页面不显示的原因
2018/11/15 jQuery
vue+canvas实现移动端手写签名
2020/05/21 Javascript
Python中无限元素列表的实现方法
2014/08/18 Python
python与sqlite3实现解密chrome cookie实例代码
2018/01/20 Python
Django使用httpresponse返回用户头像实例代码
2018/01/26 Python
python模仿网页版微信发送消息功能
2018/02/24 Python
Python2.7 实现引入自己写的类方法
2018/04/29 Python
对python中if语句的真假判断实例详解
2019/02/18 Python
Python_查看sqlite3表结构,查询语句的示例代码
2019/07/17 Python
python进程池实现的多进程文件夹copy器完整示例
2019/11/27 Python
TensorFlow2.X结合OpenCV 实现手势识别功能
2020/04/08 Python
详解Scrapy Redis入门实战
2020/11/18 Python
详解canvas.toDataURL()报错的解决方案全都在这了
2020/03/31 HTML / CSS
英国领先的珍珠首饰品牌:Orchira
2016/09/11 全球购物
Java方面的关于数组和继承的笔面试题
2015/09/18 面试题
下述程序的作用是计算机数组中的最大元素值及其下标
2012/11/26 面试题
介绍一下grep命令的使用
2012/06/28 面试题
仪器仪表检测毕业生自荐信
2013/10/31 职场文书
学校办公室主任职责
2013/12/27 职场文书
促销活动策划方案
2014/01/12 职场文书
公司授权委托书样本
2014/09/15 职场文书
优秀教研组申报材料
2014/12/26 职场文书
《艾尔登法环》Boss腐烂树灵很有可能是《黑暗之魂3》的一个废案
2022/04/11 其他游戏