使用PHP实现URL的转码和反转码
作者:bea
我们很多时候百度上差资料时,细心的朋友会发现百度的URL地址栏看起来像是乱码的形式。其实那是经过处理后的URL地址。 先看使用PHP实现URL地址转码代码: function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r);
我们很多时候百度上差资料时,细心的朋友会发现百度的URL地址栏看起来像是乱码的形式。其实那是经过处理后的URL地址。
先看使用PHP实现URL地址转码代码:
function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); $ar = $r[0];
foreach($ar as $k=>$v) { if(ord($v[0]) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v)); } return join("",$ar); }
使用 PHP实现URL地址反转码代码:
function unescape($str) { $ret = ''; $len = strlen($str); for ($i = 0; $i $len; $i++){ if ($str[$i] == '%' && $str[$i+1] == 'u'){ $val = hexdec(substr($str, $i+2, 4)); if ($val $ret .= chr($val); else if($val $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f)); else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f)); $i += 5; }else if ($str[$i] == '%'){ $ret .= urldecode(substr($str, $i, 3)); $i += 2; }else $ret .= $str[$i]; } return $ret; }
原文地址:http://www.tinystrong.com/php-escape-unescape 有用 | 无用
先看使用PHP实现URL地址转码代码:
function escape($str) { preg_match_all("/[\x80-\xff].|[\x01-\x7f]+/",$str,$r); $ar = $r[0];
foreach($ar as $k=>$v) { if(ord($v[0]) $ar[$k] = rawurlencode($v); else $ar[$k] = "%u".bin2hex(iconv("GB2312","UCS-2",$v)); } return join("",$ar); }
使用 PHP实现URL地址反转码代码:
function unescape($str) { $ret = ''; $len = strlen($str); for ($i = 0; $i $len; $i++){ if ($str[$i] == '%' && $str[$i+1] == 'u'){ $val = hexdec(substr($str, $i+2, 4)); if ($val $ret .= chr($val); else if($val $ret .= chr(0xc0|($val>>6)).chr(0x80|($val&0x3f)); else $ret .= chr(0xe0|($val>>12)).chr(0x80|(($val>>6)&0x3f)).chr(0x80|($val&0x3f)); $i += 5; }else if ($str[$i] == '%'){ $ret .= urldecode(substr($str, $i, 3)); $i += 2; }else $ret .= $str[$i]; } return $ret; }
原文地址:http://www.tinystrong.com/php-escape-unescape 有用 | 无用
猜你喜欢
您可能感兴趣的文章:
- PHP编程中如何使用memcached
- PHP错误控制运算符@的使用
- PHP引用字符串单引号与双引号的区别
- PHP MVC制作一个简单的留言板
- PHP学习:联合MySQL动态创建XML
- 分享一个PHP操作XML类DOMDocument
- PHP解析XML数据获取最新RSS
- 使用PHP生成XML文件代码
- PHP读取XML文件数据实例
- 使用PHP读取XML文件中的数据信息
- 对比几款流行的PHP IDE工具
- PHP中如何正确使用Json
- PHP Json格式与JS Json间的调用
- 了解Json在PHP中的应用
- IIS服务器下配置最佳PHP环境
- IIS下详解配置PHP服务器
- PHP以Apache模块安装带来的安全问题
- Linux环境下安装php apache和mysql
- php apache搭建php的开发环境详解