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 表单提交给自己
Jul 24 PHP
新浪SAE云平台下使用codeigniter的数据库配置
Jun 12 PHP
ThinkPHP3.2.2的插件控制器功能简述
Jul 09 PHP
php中base_convert()进制数字转换函数实例
Nov 20 PHP
php基于socket实现SMTP发送邮件的方法
Mar 05 PHP
PHP file_get_contents函数读取远程数据超时的解决方法
May 13 PHP
[原创]php使用curl判断网页404(不存在)的方法
Jun 23 PHP
解决php 处理 form 表单提交多个 name 属性值相同的 input 标签问题
May 11 PHP
php实现与python进行socket通信的方法示例
Aug 30 PHP
php静态成员方法和静态的成员属性的使用方法
Oct 26 PHP
PHP连接及操作PostgreSQL数据库的方法详解
Jan 30 PHP
PHP pthreads v3使用中的一些坑和注意点分析
Feb 21 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
《被神捡到的男人》动画化计划进行中!
2020/03/06 日漫
php cout&amp;lt;&amp;lt;的一点看法
2010/01/24 PHP
php解析url的三个示例
2014/01/20 PHP
详解WordPress中简码格式标签编写的基本方法
2015/12/22 PHP
jQuery提交表单ajax查询实例代码
2012/10/07 Javascript
常见的jQuery选择器汇总
2014/11/24 Javascript
JS实现很酷的水波文字特效实例
2015/02/26 Javascript
js使用DOM操作实现简单留言板的方法
2015/04/10 Javascript
jquery遍历table的tr获取td的值实现方法
2016/05/19 Javascript
ionic实现带字的toggle滑动组件
2016/08/27 Javascript
leaflet的开发入门教程
2016/11/17 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
关于javascript获取内联样式与嵌入式样式的实例
2017/06/01 Javascript
JS实现求数组起始项到终止项之和的方法【基于数组扩展函数】
2017/06/13 Javascript
vue父组件向子组件动态传值的两种方法
2017/11/11 Javascript
nodejs微信扫码支付功能实现
2018/02/17 NodeJs
React Native悬浮按钮组件的示例代码
2018/04/05 Javascript
vue移动端实现下拉刷新
2018/04/22 Javascript
vue axios数据请求get、post方法及实例详解
2018/09/11 Javascript
layer.alert自定义关闭回调事件的方法
2019/09/27 Javascript
vue的路由映射问题及解决方案
2019/10/14 Javascript
python递归计算N!的方法
2015/05/05 Python
Python入门教程之if语句的用法
2015/05/14 Python
KMP算法精解及其Python版的代码示例
2016/06/01 Python
Python 高级专用类方法的实例详解
2017/09/11 Python
python爬取网易云音乐热歌榜实例代码
2020/08/07 Python
python实现画图工具
2020/08/27 Python
如何从一个文件档案的尾端新增记录
2016/12/02 面试题
试用期转正后的自我评价
2014/09/21 职场文书
大学生党员个人剖析材料
2014/10/08 职场文书
2014年小学数学教师工作总结
2014/12/03 职场文书
有关骆驼祥子的读书笔记
2015/06/26 职场文书
辩论赛新闻稿
2015/07/17 职场文书
志愿服务心得体会
2016/01/15 职场文书
Python 使用 Frame tkraise() 方法在 Tkinter 应用程序中的Frame之间切换
2022/04/24 Python
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL