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 相关文章推荐
ajax+php打造进度条 readyState各状态
Mar 20 PHP
php下获取Discuz论坛登录用户名、用户组、用户ID等信息的实现代码
Dec 29 PHP
php实现用于计算执行时间的类实例
Apr 18 PHP
php-redis中的sort排序函数总结
Jul 08 PHP
PHP文件缓存类实现代码
Oct 26 PHP
PHP实现获取并生成数据库字典的方法
May 04 PHP
php微信开发之批量生成带参数的二维码
Jun 26 PHP
PHP实现生成带背景的图形验证码功能
Oct 03 PHP
thinkPHP自定义类实现方法详解
Nov 30 PHP
通过修改Laravel Auth使用salt和password进行认证用户详解
Aug 17 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
Oct 21 PHP
TP5框架页面跳转样式操作示例
Apr 05 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
《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
星际争霸 Starcraft 编年史
2020/03/14 星际争霸
PHP操作mysql数据库分表的方法
2016/06/09 PHP
PHP十六进制颜色随机生成器功能示例
2017/07/24 PHP
thinkphp 框架数据库切换实现方法分析
2020/05/18 PHP
ajax页面无刷新 IE下遭遇Ajax缓存导致数据不更新的问题
2012/12/11 Javascript
JS判断表单输入是否为空(示例代码)
2013/12/23 Javascript
解决用jquery load加载页面到div时,不执行页面js的问题
2014/02/22 Javascript
JavaScript立即执行函数的三种不同写法
2014/09/05 Javascript
jQuery实现连续动画效果实例分析
2015/10/09 Javascript
jQuery插件开发汇总
2016/05/15 Javascript
JavaScript中最容易混淆的作用域、提升、闭包知识详解(推荐)
2016/09/05 Javascript
js Canvas实现圆形时钟教程
2016/09/19 Javascript
JS中IP地址与整数相互转换的实现代码
2017/04/10 Javascript
vue-router实现组件间的跳转(参数传递)
2017/11/07 Javascript
[16:56]教你分分钟做大人:司夜刺客
2014/10/30 DOTA
[14:25]教你分分钟做大人:主宰(HEROS)
2014/12/08 DOTA
Python内置的字符串处理函数整理
2013/01/29 Python
Django1.3添加app提示模块不存在的解决方法
2014/08/26 Python
收集的几个Python小技巧分享
2014/11/22 Python
Python标准库urllib2的一些使用细节总结
2015/03/16 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
Python cookbook(数据结构与算法)对切片命名清除索引的方法
2018/03/13 Python
python3中os.path模块下常用的用法总结【推荐】
2018/09/16 Python
Python批量启动多线程代码实例
2020/02/18 Python
Django视图、传参和forms验证操作
2020/07/15 Python
python如何调用百度识图api
2020/09/29 Python
html5 canvas 简单画板实现代码
2012/01/05 HTML / CSS
html5 css3实例教程 一款html5和css3实现的小机器人走路动画
2014/10/20 HTML / CSS
STUBHUB日本:购买和出售全球活动门票
2018/07/01 全球购物
软件测试企业面试试卷
2016/07/13 面试题
优秀的个人求职信范文
2014/05/09 职场文书
三严三实学习心得体会
2014/10/13 职场文书
公司管理制度范本
2015/08/03 职场文书
2019年教师节祝福语精选,给老师送上真诚的祝福
2019/09/09 职场文书
Java elasticsearch安装以及部署教程
2021/06/28 Java/Android