escape unescape的php下的实现方法
作者:bea
functionescape($str){ preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r); $ar=$r[0]; foreach($aras$k=>$v){ if(ord($v[0])<128) $ar[$k]=rawurlencode($v); else $ar[$k]="%u".bin2hex(iconv("GB2312","UCS-2",$v)); } returnjoin("",$ar); } func
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);
}
有用 |
无用
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);
}
猜你喜欢
您可能感兴趣的文章:
- PHP5.2下chunk_split()函数整数溢出漏洞 分析
- phpMyAdmin下载、安装和使用入门教程
- [php] 我的微型论坛的简单教程[已完成]
- 测试您的 PHP 水平的题目
- Discuz板块横排显示图片的实现方法
- Win2003下IIS+PHP+MySQL+Zend配置步骤详解
- 中国站长站 For Dede4.0 采集规则
- MySQL GBK→UTF-8编码转换
- Win2003服务器安全加固设置--进一步提高服务器安全性
- 站长助手-网站web在线管理程序 v1.0 下载
- MySQL授权问题总结
- 不错的PHP学习之php4与php5之间会穿梭一点点感悟
- Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
- 什么是MVC,好东西啊
- php中的MVC模式运用技巧
- php下实现折线图效果的代码
- php下的权限算法的实现
- php 中的str_replace 函数总结
- 解决php中Cannot send session cache limiter 的问题的方法