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 相关文章推荐
一个简单计数器的源代码
Oct 09 PHP
php中用文本文件做数据库的实现方法
Mar 27 PHP
PHP 显示客户端IP与服务器IP的代码
Oct 12 PHP
深入掌握include_once与require_once的区别
Jun 17 PHP
smarty模板引擎中变量及变量修饰器用法实例
Jan 22 PHP
简单谈谈php延迟静态绑定
Jan 26 PHP
php实现转换html格式为文本格式的方法
May 16 PHP
php版阿里大于(阿里大鱼)短信发送实例详解
Nov 30 PHP
PHP删除二维数组中相同元素及数组重复值的方法示例
May 05 PHP
php-msf源码详解
Dec 25 PHP
实例讲解PHP页面静态化
Feb 05 PHP
php简单检测404页面的方法示例
Aug 23 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过滤危险html代码
2008/08/18 PHP
PHP删除HTMl标签的三种解决方法
2013/06/30 PHP
PHP7实现和CryptoJS的AES加密方式互通示例【AES-128-ECB加密】
2019/06/08 PHP
laravel实现前后台路由分离的方法
2019/10/13 PHP
jQuery 获取URL参数的插件
2010/03/04 Javascript
Jquery进度条插件 Progress Bar小问题解决
2011/07/12 Javascript
Jquery取得iframe下内容的方法
2013/11/18 Javascript
PHP配置文件php.ini中打开错误报告的设置方法
2015/01/09 PHP
JavaScript中操作字符串小结
2015/05/04 Javascript
JavaScript的兼容性与调试技巧
2016/11/22 Javascript
详谈js遍历集合(Array,Map,Set)
2017/04/06 Javascript
详解用函数式编程对JavaScript进行断舍离
2017/09/18 Javascript
改变vue请求过来的数据中的某一项值的方法(详解)
2018/03/08 Javascript
JavaScript两种计时器的实例讲解
2019/01/31 Javascript
JavaScript遍历数组的方法代码实例
2020/01/14 Javascript
vue中echarts引入中国地图的案例
2020/07/28 Javascript
[08:47]DOTA2每周TOP10 精彩击杀集锦vol.6
2014/06/25 DOTA
[00:37]DOTA2上海特级锦标赛 OG战队宣传片
2016/03/03 DOTA
[42:25]2018DOTA2亚洲邀请赛 4.5 淘汰赛 LGD vs Liquid 第三场
2018/04/06 DOTA
Python基本语法经典教程
2016/03/11 Python
Python中的os.path路径模块中的操作方法总结
2016/07/07 Python
详解python中的 is 操作符
2017/12/26 Python
python write无法写入文件的解决方法
2019/01/23 Python
Python搭建Spark分布式集群环境
2019/07/05 Python
详解PANDAS 数据合并与重塑(join/merge篇)
2019/07/09 Python
浅析python redis的连接及相关操作
2019/11/07 Python
Python使用Pandas库常见操作详解
2020/01/16 Python
python计算波峰波谷值的方法(极值点)
2020/02/18 Python
快速解决pymongo操作mongodb的时区问题
2020/12/05 Python
AmazeUI中各种的导航式菜单与解决方法
2020/08/19 HTML / CSS
安德玛加拿大官网:Under Armour加拿大
2019/10/02 全球购物
经典团队口号
2014/06/06 职场文书
乡镇党委书记个人整改措施
2014/09/15 职场文书
四风问题自我剖析材料
2014/10/07 职场文书
大学生村官个人总结
2015/02/15 职场文书
python缺失值填充方法示例代码
2022/12/24 Python