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 相关文章推荐
PHP4(windows版本)中的COM函数
Oct 09 PHP
PHP获取网址的顶级域名函数代码
Sep 24 PHP
php不写闭合标签的好处
Mar 04 PHP
PHP获取文件的MD5值并判断是否被修改的例子
Jun 19 PHP
PHP获取mysql数据表的字段名称和详细信息的方法
Sep 27 PHP
PHP图片处理之图片旋转和图片翻转实例
Nov 19 PHP
PHP动态规划解决0-1背包问题实例分析
Mar 23 PHP
PHP获取数组最大值下标的方法
May 12 PHP
PHP中常用的数组操作方法笔记整理
May 16 PHP
php封装json通信接口详解及实例
Mar 07 PHP
详解PHP防止直接访问.php 文件的实现方法
Jul 28 PHP
PHP序列化和反序列化深度剖析实例讲解
Dec 29 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 项目的方法
2007/01/02 PHP
thinkphp数据查询和遍历数组实例
2014/11/28 PHP
Laravel 已登陆用户再次查看登陆页面的自动跳转设置方法
2019/09/30 PHP
javascript 对表格的行和列都能加亮显示
2008/12/26 Javascript
一个简单的JavaScript 日期计算算法
2009/09/11 Javascript
jQuery实现个性翻牌效果导航菜单的方法
2015/03/09 Javascript
JavaScript 浏览器兼容性总结及常用浏览器兼容性分析
2016/03/30 Javascript
深入剖析JavaScript中的函数currying柯里化
2016/04/29 Javascript
浅谈javascript中的加减时间
2016/07/12 Javascript
用原生JS对AJAX做简单封装的实例代码
2016/07/13 Javascript
DataTables+BootStrap组合使用Ajax来获取数据并且动态加载dom的方法(排序,过滤,分页等)
2016/11/09 Javascript
Javascript 使用ajax与C#获取文件大小实例详解
2017/01/13 Javascript
JavaScript实现瀑布流以及加载效果
2017/02/11 Javascript
js获取元素下的第一级子元素的方法(推荐)
2017/03/05 Javascript
简单谈谈axios中的get,post方法
2017/06/25 Javascript
JavaScript中Hoisting详解 (变量提升与函数声明提升)
2017/08/18 Javascript
mac上配置Android环境变量的方法
2018/07/08 Javascript
更改BootStrap popover的默认样式及popover简单用法
2018/09/13 Javascript
JS重学系列之聊聊new操作符
2019/03/04 Javascript
一文了解vue-router之hash模式和history模式
2019/05/31 Javascript
在vue中使用Base64转码的案例
2020/08/07 Javascript
PyCharm+PySpark远程调试的环境配置的方法
2018/11/29 Python
python 获取utc时间转化为本地时间的方法
2018/12/31 Python
python中几种自动微分库解析
2019/08/29 Python
在Python中等距取出一个数组其中n个数的实现方式
2019/11/27 Python
详解python环境安装selenium和手动下载安装selenium的方法
2020/03/17 Python
jupyter notebook 参数传递给shell命令行实例
2020/04/10 Python
Python如何获取文件指定行的内容
2020/05/27 Python
Python LMDB库的使用示例
2021/02/14 Python
用HTML5制作数字时钟的教程
2015/05/11 HTML / CSS
香港化妆品经销商:我的公主
2016/08/05 全球购物
电信专业应届生自荐信
2013/09/28 职场文书
个人自我评价分享
2013/12/20 职场文书
优秀实习生主要事迹
2014/05/29 职场文书
罗马假日观后感
2015/06/08 职场文书
HTML速写之Emmet语法规则的实现
2021/04/07 HTML / CSS