escape unescape的php下的实现方法


Posted in PHP onApril 27, 2007

function escape($str) { 
 preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); 
 $ar = $r[0]; 
 foreach($ar as $k=>$v) { 
   if(ord($v[0]) < 128) 
     $ar[$k] = rawurlencode($v); 
   else 
     $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v)); 
 } 
 return join("",$ar); 

function unescape($str) { 
 $str = rawurldecode($str); 
 preg_match_all("/(?:%u.{4})|.+/",$str,$r); 
 $ar = $r[0]; 
 foreach($ar as $k=>$v) { 
   if(substr($v,0,2) == "%u" && strlen($v) == 6) 
     $ar[$k] = iconv("UCS-2","GB2312",pack("H4",substr($v,-4))); 
 } 
 return join("",$ar); 

PHP 相关文章推荐
Oracle Faq(Oracle的版本)
Oct 09 PHP
php格式化工具Beautify PHP小小BUG
Apr 24 PHP
关于PHPDocument 代码注释规范的总结
Jun 25 PHP
php中的curl_multi系列函数使用例子
Jul 29 PHP
php多次include后导致全局变量global失效的解决方法
Feb 28 PHP
php使用gettimeofday函数返回当前时间并存放在关联数组里
Mar 19 PHP
php注册审核重点解析(数据访问)
May 23 PHP
PHP单例模式与工厂模式详解
Aug 29 PHP
PHP操作MongoDB实现增删改查功能【附php7操作MongoDB方法】
Apr 24 PHP
PHP+Oracle本地开发环境搭建方法详解
Apr 01 PHP
laravel自定义分页的实现案例offset()和limit()
Oct 15 PHP
ThinkPHP5.1的权限控制怎么写?分享一个AUTH权限控制
Mar 09 PHP
mysql 全文搜索 技巧
Apr 27 #PHP
mysql 搜索之简单应用
Apr 27 #PHP
mysql 字段类型说明
Apr 27 #PHP
Discuz! 5.0.0论坛程序中加入一段js代码,让会员点击下载附件前自动弹出提示窗口
Apr 18 #PHP
PHP和XSS跨站攻击的防范
Apr 17 #PHP
PHP与SQL注入攻击[三]
Apr 17 #PHP
PHP与SQL注入攻击[二]
Apr 17 #PHP
You might like
php中的时间处理
2006/10/09 PHP
基于mysql的论坛(7)
2006/10/09 PHP
php 生成WML页面方法详解
2009/08/09 PHP
PHP 7安装调试工具Xdebug扩展的方法教程
2017/06/17 PHP
PHP count_chars()函数讲解
2019/02/14 PHP
JavaScript监测ActiveX控件是否已经安装过的代码
2008/09/02 Javascript
浅析jQuery的链式调用之each函数
2010/12/03 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
js改变embed标签src值的方法
2015/04/10 Javascript
js+css实现的圆角边框TAB选项卡滑动门代码分享(2款)
2015/08/26 Javascript
JavaScript转换与解析JSON方法实例详解
2015/11/24 Javascript
JS中取二维数组中最大值的方法汇总
2016/04/17 Javascript
JavaScript 闭包详细介绍
2016/09/28 Javascript
ES6实现的遍历目录函数示例
2017/04/07 Javascript
jQuery niceScroll滚动条错位问题的解决方法
2018/02/03 jQuery
vue+echarts实现动态绘制图表及异步加载数据的方法
2018/10/17 Javascript
如何在Vue.js中实现标签页组件详解
2019/01/02 Javascript
[00:23]DOTA2群星共贺开放测试 25日无码时代来袭
2013/09/23 DOTA
[01:01:18]VP vs NIP 2019国际邀请赛小组赛 BO2 第二场 8.15
2019/08/17 DOTA
自己使用总结Python程序代码片段
2015/06/02 Python
详谈套接字中SO_REUSEPORT和SO_REUSEADDR的区别
2018/04/28 Python
Python之循环结构
2019/01/15 Python
python3的url编码和解码,自定义gbk、utf-8的例子
2019/08/22 Python
Python使用Opencv实现图像特征检测与匹配的方法
2019/10/30 Python
Python socket实现的文件下载器功能示例
2019/11/15 Python
Python利用逻辑回归分类实现模板
2020/02/15 Python
Tensorflow与Keras自适应使用显存方式
2020/06/22 Python
html5实现的便签特效(实战分享)
2013/11/29 HTML / CSS
Bose英国官方网站:美国知名音响品牌
2020/01/26 全球购物
怎么可以提高数据库查询数据的速度
2014/06/28 面试题
一些Unix笔试题和面试题
2013/01/22 面试题
优秀员工评语
2014/02/10 职场文书
研究生考核个人自我鉴定
2014/03/27 职场文书
《学棋》教后反思
2014/04/14 职场文书
2015年小学校长工作总结
2015/05/19 职场文书
预备党员的思想汇报,你真的会写吗?
2019/06/28 职场文书