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 相关文章推荐
隐藏X-Space个人空间下方版权方法隐藏X-Space个人空间标题隐藏X-Space个人空间管理版权方法
Feb 22 PHP
PHP下一个非常全面获取图象信息的函数
Nov 20 PHP
深入解析PHP中的(伪)多线程与多进程
Jul 01 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
php提示Warning:mysql_fetch_array() expects的解决方法
Dec 16 PHP
php中stdClass的用法分析
Feb 27 PHP
CentOS下与Apache连接的PHP多版本共存方案实现详解
Dec 19 PHP
yii2缓存Caching基本用法示例
Jul 18 PHP
详解Yii2高级版引入bootstrap.js的一个办法
Mar 21 PHP
Yii2 中实现单点登录的方法
Mar 09 PHP
laravel清除视图缓存的代码
Oct 23 PHP
php 原生分页
Apr 01 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/04 星际争霸
PHP 执行系统外部命令 system() exec() passthru()
2009/08/11 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
PHP正确配置mysql(apache环境)
2011/08/28 PHP
2款PHP无限级分类实例代码
2015/11/11 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
PHP实现的简单适配器模式示例
2017/06/22 PHP
PHP中register_shutdown_function函数的基础介绍与用法详解
2017/11/28 PHP
PHP钩子实现方法解析
2019/05/21 PHP
Thinkphp 框架配置操作之动态配置、扩展配置及批量配置实例分析
2020/05/15 PHP
再谈javascript面向对象编程
2012/03/18 Javascript
cookie在javascript中的使用技巧以及隐私在服务器端的设置
2012/12/03 Javascript
js关闭子窗体刷新父窗体实现方法
2012/12/04 Javascript
Javascript字符串浏览器兼容问题分析
2014/12/01 Javascript
jQuery、zepto、js常用小技巧
2017/02/12 Javascript
BootStrap中的Fontawesome 图标
2017/05/25 Javascript
Vue resource中的GET与POST请求的实例代码
2017/07/21 Javascript
JavaScript实现简单轮播图效果
2018/12/01 Javascript
Vue批量图片显示时遇到的路径被解析问题
2019/03/28 Javascript
JQuery事件委托(适用于给动态生成的脚本元素添加事件)
2020/02/01 jQuery
原生JavaScript实现随机点名表
2021/01/14 Javascript
python获取mp3文件信息的方法
2015/06/15 Python
python比较两个列表是否相等的方法
2015/07/28 Python
Eclipse中Python开发环境搭建简单教程
2016/03/23 Python
Python首次安装后运行报错(0xc000007b)的解决方法
2016/10/18 Python
python logging重复记录日志问题的解决方法
2018/07/12 Python
pandas DataFrame 数据选取,修改,切片的实现
2020/04/24 Python
英国No.1文具和办公用品在线:Euroffice
2016/09/21 全球购物
2014镇副书记群众路线专题民主生活会思想汇报
2014/09/23 职场文书
2014年学校卫生工作总结
2014/11/20 职场文书
2014初中数学教研组工作总结
2014/12/19 职场文书
2015年幼师工作总结
2015/04/28 职场文书
2015人事行政工作总结范文
2015/05/21 职场文书
2016高考寄语集锦
2015/12/04 职场文书
《静夜思》教学反思
2016/02/17 职场文书
MySQL 数据表操作
2022/05/04 MySQL