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图像处理类代码分享
Jan 19 PHP
PHP utf-8编码问题,utf8编码,数据库乱码,页面显示输出乱码
Apr 08 PHP
取得单条网站评论以数组形式进行输出
Jul 28 PHP
php switch语句多个值匹配同一代码块应用示例
Jul 29 PHP
PHP中单引号与双引号的区别分析
Aug 19 PHP
PHP中判断文件存在使用is_file还是file_exists?
Apr 03 PHP
php实现paypal 授权登录
May 28 PHP
PHP6新特性分析
Mar 03 PHP
如何离线执行php任务
Feb 21 PHP
PHP抽象类与接口的区别实例详解
May 09 PHP
PHP实现随机发扑克牌
Apr 22 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脚本的10个技巧(4)
2006/10/09 PHP
PHP提取数据库内容中的图片地址并循环输出
2010/03/21 PHP
解析PHP中empty is_null和isset的测试
2013/06/29 PHP
PHP匿名函数和use子句用法实例
2016/03/16 PHP
Symfony2学习笔记之插件格式分析
2016/03/17 PHP
JavaScript 应用类库代码
2008/06/02 Javascript
网页前台通过js非法字符过滤代码(骂人的话等等)
2010/05/26 Javascript
ExtJS 设置级联菜单的默认值
2010/06/13 Javascript
jquery中邮箱地址 URL网站地址正则验证实例代码
2013/09/15 Javascript
JS中操作JSON总结
2020/12/06 Javascript
js添加绑定事件的方法
2016/05/15 Javascript
jQuery Ajax 加载数据时异步显示加载动画
2016/08/01 Javascript
js制作可以延时消失的菜单
2017/01/13 Javascript
js学使用setTimeout实现轮循动画
2017/07/17 Javascript
js用类封装pop弹窗组件
2017/10/08 Javascript
JS插件clipboard.js实现一键复制粘贴功能
2020/12/04 Javascript
微信小程序wepy框架笔记小结
2018/08/08 Javascript
解决vue2.0路由跳转未匹配相应用路由避免出现空白页面的问题
2018/08/24 Javascript
Vue项目实现换肤功能的一种方案分析
2019/08/28 Javascript
webpack4 optimization使用总结
2019/11/10 Javascript
vue 点击其他区域关闭自定义div操作
2020/07/17 Javascript
Js图片点击切换轮播实现代码
2020/07/27 Javascript
[33:42]LGD vs OG 2018国际邀请赛小组赛BO2 第一场 8.16
2018/08/17 DOTA
使用Python的Twisted框架实现一个简单的服务器
2015/04/16 Python
Tensorflow实现AlexNet卷积神经网络及运算时间评测
2018/05/24 Python
Python设置matplotlib.plot的坐标轴刻度间隔以及刻度范围
2019/06/25 Python
IronPython连接MySQL的方法步骤
2019/12/27 Python
10 套华丽的CSS3 按钮小结
2012/10/03 HTML / CSS
倡议书格式范文
2014/04/14 职场文书
以幸福为主题的活动方案
2014/08/22 职场文书
暑假社会实践心得体会
2014/09/02 职场文书
2014年学校安全工作总结
2014/11/13 职场文书
员工辞退通知书
2015/04/17 职场文书
2016年“12.3”国际残疾人日活动总结
2016/04/01 职场文书
MySQL主从搭建(多主一从)的实现思路与步骤
2021/05/13 MySQL
详解MySQL集群搭建
2021/05/26 MySQL