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 iconv() : Detected an illegal character in input string
Dec 05 PHP
fleaphp crud操作之findByField函数的使用方法
Apr 23 PHP
解析file_get_contents模仿浏览器头(user_agent)获取数据
Jun 27 PHP
PHP生成sitemap.xml地图函数
Nov 13 PHP
php使用smtp发送支持附件的邮件示例
Apr 13 PHP
php+mysql数据库查询实例
Jan 21 PHP
10个超级有用值得收藏的PHP代码片段
Jan 22 PHP
dvwa+xampp搭建显示乱码的问题及解决方案
Aug 23 PHP
CodeIgniter控制器之业务逻辑实例分析
Jan 20 PHP
CI框架数据库查询缓存优化的方法
Nov 21 PHP
Laravel框架实现定时发布任务的方法
Aug 16 PHP
PHP调用接口API封装的例子
Oct 11 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中文件读、写、删的操作(PHP中对文件和目录操作)
2012/03/06 PHP
解析php时间戳与日期的转换
2013/06/06 PHP
单台服务器的PHP进程之间实现共享内存的方法
2014/06/13 PHP
php通过rmdir删除目录的简单用法
2015/03/18 PHP
实例讲解通过​PHP创建数据库
2019/01/20 PHP
JS模板实现方法
2013/04/03 Javascript
使用GruntJS构建Web程序之安装篇
2014/06/04 Javascript
JavaScript使用Math.Min返回两个数中较小数的方法
2015/04/06 Javascript
JavaScript中数据结构与算法(一):栈
2015/06/19 Javascript
javascript作用域问题实例分析
2015/07/13 Javascript
JavaScript地理位置信息API
2016/06/11 Javascript
WEB前端实现裁剪上传图片功能
2016/10/17 Javascript
基于bootstrap按钮式下拉菜单组件的搜索建议插件
2017/03/25 Javascript
使用Vue开发一个实时性时间转换指令
2018/01/17 Javascript
基于Fixed定位的框选功能的实现代码
2019/05/13 Javascript
vue集成kindeditor富文本的实现示例代码
2019/06/07 Javascript
Vue组件模板及组件互相引用代码实例
2020/03/11 Javascript
vue中解决拖拽改变存在iframe的div大小时卡顿问题
2020/07/22 Javascript
Javascript中Math.max和Math.max.apply的区别和用法详解
2020/08/24 Javascript
python获取糗百图片代码实例
2013/12/18 Python
python实现的登录和操作开心网脚本分享
2014/07/09 Python
Python解析json之ValueError: Expecting property name enclosed in double quotes: line 1 column 2(char 1)
2017/07/06 Python
Python简单实现控制电脑的方法
2018/01/22 Python
pip命令无法使用的解决方法
2018/06/12 Python
浅谈Python traceback的优雅处理
2018/08/31 Python
将python运行结果保存至本地文件中的示例讲解
2019/07/11 Python
python爬虫之爬取百度音乐的实现方法
2019/08/24 Python
django-利用session机制实现唯一登录的例子
2020/03/16 Python
Python爬虫实现HTTP网络请求多种实现方式
2020/06/19 Python
如何表示python中的相对路径
2020/07/08 Python
英语自荐信常用语句
2013/12/13 职场文书
珍珠奶茶店创业计划书
2014/01/11 职场文书
求职个人评价范文
2014/04/09 职场文书
教师暑期培训感言
2014/08/15 职场文书
学生抄袭作业的检讨书
2014/10/02 职场文书
教你如何用python开发一款数字推盘小游戏
2021/04/14 Python