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 增加了对 .ZIP 文件的读取功能
Oct 09 PHP
PHP开发中四种查询返回结果分析
Jan 02 PHP
yii实现级联下拉菜单的方法
Jul 31 PHP
php实现设计模式中的单例模式详解
Oct 11 PHP
php中数据库连接方式pdo和mysqli对比分析
Feb 25 PHP
如何解决phpmyadmin导入数据库文件最大限制2048KB
Oct 09 PHP
学习php设计模式 php实现装饰器模式(decorator)
Dec 07 PHP
ThinkPHP项目分组配置方法分析
Mar 23 PHP
PHP二分查找算法示例【递归与非递归方法】
Sep 29 PHP
php传值方式和ajax的验证功能
Mar 27 PHP
PHP与JavaScript针对Cookie的读写、交互操作方法详解
Aug 07 PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 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 number_format() 函数通过千位分组来格式化数字的实现代码
2013/08/06 PHP
php获取Google机器人访问足迹的方法
2015/04/15 PHP
PHP+shell脚本操作Memcached和Apache Status的实例分享
2016/03/11 PHP
解决AJAX中跨域访问出现'没有权限'的错误
2008/08/20 Javascript
自己的js工具 Event封装
2009/08/21 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
javascript中的缓动效果实现程序
2012/12/29 Javascript
jQuery获取浏览器中的分辨率实现代码
2013/04/23 Javascript
利用Jquery实现可多选的下拉框
2014/02/21 Javascript
javascript模拟枚举的简单实例
2014/03/06 Javascript
javascript记录文本框内文字个数检测文字个数变化
2014/10/14 Javascript
JavaScript获取网页中第一个图片id的方法
2015/04/03 Javascript
javascript数组排序汇总
2015/07/07 Javascript
js实现倒计时关键代码
2017/05/05 Javascript
nodejs实现超简单生成二维码的方法
2018/03/17 NodeJs
vue动态设置img的src路径实例
2018/09/18 Javascript
Vue+Django项目部署详解
2019/05/30 Javascript
react koa rematch 如何打造一套服务端渲染架子
2019/06/26 Javascript
[03:59]5分钟带你了解什么是DOTA2(第二期)
2017/02/07 DOTA
[01:11:37]完美世界DOTA2联赛PWL S2 SZ vs FTD.C 第一场 11.19
2020/11/19 DOTA
python下载文件时显示下载进度的方法
2015/04/02 Python
Python IDLE或shell中切换路径的操作
2020/03/09 Python
一个不错的HTML5 Canvas多层点击事件监听实例
2014/04/29 HTML / CSS
HTML5 Canvas之测试浏览器是否支持Canvas的方法
2015/01/01 HTML / CSS
往来会计岗位职责
2013/12/19 职场文书
学校十一活动方案
2014/02/01 职场文书
善意的谎言事例
2014/02/15 职场文书
园林设计专业毕业生求职信
2014/03/23 职场文书
求职信名称怎么写
2014/05/26 职场文书
圣诞晚会主持词开场白
2015/05/28 职场文书
呼啸山庄读书笔记
2015/06/29 职场文书
2016年“5.12”护士节慰问信
2015/11/30 职场文书
python实现调用摄像头并拍照发邮箱
2021/04/27 Python
服务器nginx权限被拒绝解决案例
2022/09/23 Servers
clear 万能清除浮动(clearfix:after)
2023/05/21 HTML / CSS