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 存储文本换行实现方法
Jan 05 PHP
php安全配置 如何配置使其更安全
Dec 16 PHP
Thinkphp中数据按分类嵌套循环实现方法
Oct 30 PHP
PHP SPL标准库之接口(Interface)详解
May 11 PHP
两款万能的php分页类
Nov 12 PHP
php简单实现多维数组排序的方法
Sep 30 PHP
Yii2单元测试用法示例
Nov 12 PHP
Kindeditor编辑器添加图片上传水印功能(php代码)
Aug 03 PHP
PHP实现权限管理功能示例
Sep 22 PHP
PHP实现的最大正向匹配算法示例
Dec 19 PHP
Laravel框架实现的记录SQL日志功能示例
Jun 19 PHP
PHP实现新型冠状病毒疫情实时图的实例
Feb 04 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 5.3.0 安装分析心得
2009/08/07 PHP
PHP ignore_user_abort函数详细介绍和使用实例
2014/07/15 PHP
PHP利用func_get_args和func_num_args函数实现函数重载实例
2014/11/12 PHP
修改发贴的编辑功能
2007/03/07 Javascript
HTML node相关的一些资料整理
2010/01/01 Javascript
jQuery asp.net 用json格式返回自定义对象
2010/04/07 Javascript
E3 tree 1.6在Firefox下显示问题的修复方法
2013/01/30 Javascript
js防止表单重复提交的两种方法
2013/09/30 Javascript
jquery实现图片放大镜功能
2015/11/23 Javascript
Webwork 实现文件上传下载代码详解
2016/02/02 Javascript
深入学习JavaScript的AngularJS框架中指令的使用方法
2016/03/05 Javascript
bootstrap导航条实现代码
2016/12/28 Javascript
Vue报错:Uncaught TypeError: Cannot assign to read only property’exports‘ of object’#‘的解决方法
2017/06/17 Javascript
详解如何在vue-cli中使用vuex
2018/08/07 Javascript
JS实现求5的阶乘示例
2019/01/21 Javascript
JS实现吸顶特效
2020/01/08 Javascript
Webpack5正式发布,有哪些新特性
2020/10/12 Javascript
简单理解Python中的装饰器
2015/07/31 Python
Python中几种导入模块的方式总结
2017/04/27 Python
Python数据分析之双色球中蓝红球分析统计示例
2018/02/03 Python
详解Python中的内建函数,可迭代对象,迭代器
2019/04/29 Python
python爬虫 基于requests模块发起ajax的get请求实现解析
2019/08/20 Python
详解python路径拼接os.path.join()函数的用法
2019/10/09 Python
python中使用asyncio实现异步IO实例分析
2021/02/26 Python
可自定义箭头样式的CSS3气泡提示框
2016/03/16 HTML / CSS
html5定位获取当前位置并在百度地图上显示
2014/08/22 HTML / CSS
Lungolivigno Fashion官网:高级时装在线购物
2020/10/17 全球购物
FragranceNet中文网:北美健康美容线上零售商
2020/08/26 全球购物
第二课堂活动总结
2014/05/07 职场文书
2014年药品销售工作总结
2014/12/16 职场文书
老人院义工活动感想
2015/08/07 职场文书
如何使JavaScript休眠或等待
2021/04/27 Javascript
pytorch 梯度NAN异常值的解决方案
2021/06/05 Python
Python3.10的一些新特性原理分析
2021/09/15 Python
python模块与C和C++动态库相互调用实现过程示例
2021/11/02 Python
table设置超出部分隐藏,鼠标移上去显示全部内容的方法
2022/12/24 HTML / CSS