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通用检测函数集合
Nov 25 PHP
php获取网页内容方法总结
Dec 04 PHP
PHP-redis中文文档介绍
Feb 07 PHP
深入mysql_fetch_row()与mysql_fetch_array()的区别详解
Jun 05 PHP
php读取mssql的ntext字段返回值为空的解决方法
Dec 30 PHP
php使用Imagick生成图片的方法
Jul 31 PHP
PHP工程师VIM配置分享
Dec 15 PHP
Symfony2 session用法实例分析
Feb 04 PHP
header与缓冲区之间的深层次分析
Jul 30 PHP
实例讲解通过​PHP创建数据库
Jan 20 PHP
PHP小程序支付功能完整版【基于thinkPHP】
Mar 26 PHP
在Ubuntu 18.04上安装PHP 7.3 7.2和7.0的方法
Apr 09 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安装攻略:常见问题解答(二)
2006/10/09 PHP
PHP中开发XML应用程序之基础篇 添加节点 删除节点 查询节点 查询节
2010/07/09 PHP
PHP以指定字段为索引返回数据库所取的数据数组
2013/06/30 PHP
thinkPHP模型初始化实例分析
2015/12/03 PHP
Ajax和PHP正则表达式验证表单及验证码
2016/09/24 PHP
Thinkphp5框架使用validate实现验证功能的方法
2019/08/27 PHP
javaScript实现浮点数转十六进制字符
2013/10/29 Javascript
JavaScript删除数组元素的方法
2015/03/20 Javascript
详解JavaScript中的自定义事件编写
2016/05/10 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
Hexo已经看腻了,来手把手教你使用VuePress搭建个人博客
2018/04/26 Javascript
JavaScript基于对象方法实现数组去重及排序操作示例
2018/07/10 Javascript
微信小程序中遇到的iOS兼容性问题小结
2018/11/14 Javascript
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
element-ui tree结构实现增删改自定义功能代码
2020/08/31 Javascript
[01:54]TI4西雅图DOTA2选手欢迎晚宴 现场报道
2014/07/08 DOTA
详解Python字符串切片
2019/05/20 Python
Python读取stdin方法实例
2019/05/24 Python
python统计字符串中字母出现次数代码实例
2020/03/02 Python
Windows下Anaconda和PyCharm的安装与使用详解
2020/04/23 Python
使用OpenCV实现道路车辆计数的使用方法
2020/07/15 Python
python super()函数的基本使用
2020/09/10 Python
python excel和yaml文件的读取封装
2021/01/12 Python
大学生四个方面的自我评价
2013/09/19 职场文书
企业消防安全制度
2014/02/02 职场文书
征婚广告词
2014/03/17 职场文书
《水上飞机》教学反思
2014/04/10 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
敬老院义诊活动总结
2015/05/07 职场文书
幼儿园教师安全责任书
2015/05/08 职场文书
公司老总年会致辞
2015/07/30 职场文书
《工作是最好的修行》读后感3篇
2019/12/13 职场文书
JS监听Esc 键触发事键
2021/04/14 Javascript
Python集合的基础操作
2021/11/01 Python
python实现对doc、txt、xls等文档的读写操作
2022/04/02 Python
Python 图片添加美颜效果
2022/04/28 Python