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面向对象学习笔记之二 生成对象的设计模式
Oct 06 PHP
php 批量替换程序的具体实现代码
Oct 04 PHP
php jquery 多文件上传简单实例
Dec 23 PHP
php实现上传图片生成缩略图示例
Apr 13 PHP
php5.2以下版本无json_decode函数的解决方法
May 25 PHP
Laravel 5框架学习之Laravel入门和新建项目
Apr 07 PHP
在PHP程序中使用Rust扩展的方法
Jul 03 PHP
Yii2表单事件之Ajax提交实现方法
May 04 PHP
PHP PDO操作MySQL基础教程
Jun 05 PHP
Ubuntu中支持PHP5与PHP7双版本的简单实现
Aug 19 PHP
ThinkPHP5&amp;5.1框架关联模型分页操作示例
Aug 03 PHP
php面向对象重点知识分享
Sep 27 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(视频)Http下载
2006/12/12 PHP
CI框架装载器Loader.php源码分析
2014/11/04 PHP
php隐藏实际地址的文件下载方法
2015/04/18 PHP
php实现不通过扩展名准确判断文件类型的方法【finfo_file方法与二进制流】
2017/04/18 PHP
PHP 面向对象程序设计之类属性与类常量实现方法分析
2020/04/13 PHP
解决PhpStorm64不能启动的问题
2020/06/20 PHP
基于JQuery 滑动与动画的说明介绍
2013/04/18 Javascript
JQuery调webservice实现邮箱验证(检测是否可用)
2013/05/21 Javascript
在表单提交前进行验证的几种方式整理
2013/07/31 Javascript
js渐变显示渐变消失示例代码
2013/08/01 Javascript
jQuery提示效果代码分享
2014/11/20 Javascript
Javascript基础教程之函数对象和属性
2015/01/18 Javascript
详解JavaScript中常用的函数类型
2015/11/18 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
2016/04/20 Javascript
vue better scroll 无法滚动的解决方法
2018/06/07 Javascript
axios对请求各种异常情况处理的封装方法
2018/09/25 Javascript
如何在selenium中使用js实现定位
2020/08/18 Javascript
vue 将多个过滤器封装到一个文件中的代码详解
2020/09/05 Javascript
ES11新增的这9个新特性,你都掌握了吗
2020/10/15 Javascript
python在linux中输出带颜色的文字的方法
2014/06/19 Python
详细解析Python中__init__()方法的高级应用
2015/05/11 Python
python数据结构之图深度优先和广度优先实例详解
2015/07/08 Python
pyenv命令管理多个Python版本
2017/03/26 Python
python实现自动发送邮件发送多人、群发、多附件的示例
2018/01/23 Python
python实现二叉查找树实例代码
2018/02/08 Python
Python3.6中Twisted模块安装的问题与解决
2019/04/15 Python
使用pandas实现筛选出指定列值所对应的行
2020/12/13 Python
StubHub西班牙:购买和出售全球活动门票
2017/06/05 全球购物
商务英语本科生的自我评价分享
2013/11/15 职场文书
运动会广播稿30字
2014/01/21 职场文书
大学生的创业计划书就该这么写
2014/01/30 职场文书
党的群众路线教育实践活动领导班子整改措施
2014/10/28 职场文书
2014年语文教学工作总结
2014/12/17 职场文书
宣传部部长竞选稿
2015/11/21 职场文书
MySQL分区表实现按月份归类
2021/11/01 MySQL
详解Vue的列表渲染
2021/11/20 Vue.js