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怎样调用MSSQL的存储过程
Oct 09 PHP
PHP 开源框架22个简单简介
Aug 24 PHP
ubuntu 编译安装php 5.3.3+memcache的方法
Aug 05 PHP
php 文件缓存函数
Oct 08 PHP
非常精妙的PHP递归调用与静态变量使用
Dec 16 PHP
XAMPP安装与使用方法详细解析
Nov 27 PHP
php中filter函数验证、过滤用户输入的数据
Jan 13 PHP
PHP把网页保存为word文件的三种方法
Apr 01 PHP
老生常谈PHP面向对象之注册表模式
May 26 PHP
php基于自定义函数记录log日志方法
Jul 21 PHP
PHP htmlspecialchars()函数用法与实例讲解
Mar 08 PHP
PHP Primary script unknown 解决方法总结
Aug 22 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
第十一节--重载
2006/11/16 PHP
PHP 函数学习简单小结
2010/07/08 PHP
php缓冲输出实例分析
2015/01/05 PHP
跟随鼠标旋转的文字
2006/11/30 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
javascript为下拉列表动态添加数据项
2014/05/23 Javascript
input标签内容改变的触发事件介绍
2014/06/18 Javascript
javascript 原型链维护和继承详解
2014/11/26 Javascript
JavaScript和JQuery的鼠标mouse事件冒泡处理
2015/06/19 Javascript
使用Raygun来自动追踪AngularJS中的异常
2015/06/23 Javascript
javascript的变量、传值、传址、参数之间关系
2015/07/26 Javascript
JavaScript动态插入CSS的方法
2015/12/10 Javascript
分享12个实用的jQuery代码片段
2016/03/09 Javascript
Vue Cli与BootStrap结合实现表格分页功能
2017/08/18 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
2017/11/27 Javascript
vue实现压缩图片预览并上传功能(promise封装)
2019/01/10 Javascript
微信小程序扫描二维码获取信息实例详解
2019/05/07 Javascript
Vue2.4+新增属性.sync、$attrs、$listeners的具体使用
2020/03/08 Javascript
关于JavaScript中异步/等待的用法与理解
2020/11/18 Javascript
[49:07]VGJ.T vs Optic Supermajor小组赛D组 BO3 第二场 6.3
2018/06/04 DOTA
python统计多维数组的行数和列数实例
2018/06/23 Python
python根据文章标题内容自动生成摘要的实例
2019/02/21 Python
Python中三元表达式的几种写法介绍
2019/03/04 Python
pandas 使用均值填充缺失值列的小技巧分享
2019/07/04 Python
英国的潮牌鞋履服饰商店:size?
2019/03/26 全球购物
土耳其风格手工珠宝:Ottoman Hands
2019/07/26 全球购物
高校十八大报告感想
2014/01/27 职场文书
园林技术个人的自我评价
2014/02/15 职场文书
《花瓣飘香》教学反思
2014/04/15 职场文书
法学专业求职信
2014/07/15 职场文书
房地产销售助理岗位职责
2015/04/14 职场文书
党小组考察意见
2015/06/02 职场文书
2016年元旦寄语
2015/08/17 职场文书
Python入门学习之类的相关知识总结
2021/05/25 Python
angular4实现带搜索的下拉框
2022/03/25 Javascript
Docker容器harbor私有仓库部署和管理
2022/08/05 Servers