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的输入输出流
Feb 14 PHP
PHP执行zip与rar解压缩方法实现代码
Dec 05 PHP
PHPExcel内存泄漏问题解决方法
Jan 23 PHP
php设计模式之单例模式实例分析
Feb 25 PHP
Apache连接PHP后无法启动问题解决思路
Jun 18 PHP
php简单的上传类分享
May 15 PHP
php抛出异常与捕捉特定类型的异常详解
Oct 26 PHP
PHP获取指定日期是星期几的实现方法
Nov 30 PHP
PHP实现创建微信自定义菜单的方法示例
Jul 14 PHP
Laravel学习教程之model validation的使用示例
Oct 23 PHP
利用PHP判断是手机移动端还是PC端访问的函数示例
Dec 14 PHP
php设计模式之组合模式实例详解【星际争霸游戏案例】
Mar 27 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/07/09 PHP
php bootstrap实现简单登录
2016/03/08 PHP
jQuery 标题的自动翻转实现代码
2009/10/14 Javascript
jquery 笔记 事件
2011/11/02 Javascript
点弹代码 点击页面任何位置都可以弹出页面效果代码
2012/09/17 Javascript
jQuery页面图片伴随滚动条逐渐显示的小例子
2013/03/21 Javascript
js innerHTML 改变div内容的方法
2013/08/03 Javascript
javascript实现的一个带下拉框功能的文本框
2014/05/08 Javascript
JavaScript中window.showModalDialog()用法详解
2014/12/18 Javascript
JavaScript不使用prototype和new实现继承机制
2014/12/29 Javascript
Nodejs学习笔记之NET模块
2015/01/13 NodeJs
JS使用parseInt解析数字实现求和的方法
2015/08/05 Javascript
jQuery模拟淘宝购物车功能
2017/02/27 Javascript
vue组件父子间通信详解(三)
2017/11/07 Javascript
Vue中的slot使用插槽分发内容的方法
2018/03/01 Javascript
微信小程序block的使用教程
2018/04/01 Javascript
layDate日期控件使用方法详解
2018/11/15 Javascript
vue 实现微信浮标效果
2019/09/01 Javascript
vue+vant实现商品列表批量倒计时功能
2020/01/13 Javascript
[01:05:59]Mineski vs Secret 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.22
2019/09/05 DOTA
Python实现通过文件路径获取文件hash值的方法
2017/04/29 Python
python机器学习库常用汇总
2017/11/15 Python
CentOS7.3编译安装Python3.6.2的方法
2018/01/22 Python
python读取目录下所有的jpg文件,并显示第一张图片的示例
2019/06/13 Python
python机器学习库scikit-learn:SVR的基本应用
2019/06/26 Python
python使用PIL剪切和拼接图片
2020/03/23 Python
numba提升python运行速度的实例方法
2021/01/25 Python
Expedia爱尔兰:酒店、机票、租车及廉价假期
2017/01/02 全球购物
美体小铺法国官方网站:The Body Shop法国
2020/06/04 全球购物
图书馆标语
2014/06/19 职场文书
群众路线教育党员自我剖析材料
2014/10/06 职场文书
2014年禁毒工作总结
2014/11/24 职场文书
教师个人年终总结
2015/02/11 职场文书
幼儿园教师心得体会范文
2016/01/21 职场文书
MySQL 使用事件(Events)完成计划任务
2021/05/24 MySQL
JS数组去重详情
2021/11/07 Javascript