php escape URL编码

yipeiwu_com5年前PHP代码库
徐祖宁的php版的escape/unescape函数
复制代码 代码如下:

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保存信息到当前Session的方法

本文实例讲述了php保存信息到当前Session的方法。分享给大家供大家参考。具体如下: php中可通过$_SESSION保存session变量,下面的代码简单演示了 $_SESSION...

Php获取金书网的书名的实现代码

复制代码 代码如下:<?php $url="http://www.golden-book.com/booksinfo/12/264.html"; $lines_array = fi...

PHP strip_tags保留多个HTML标签的方法

本文介绍了PHP strip_tags函数保留多个HTML标签的方法,可以使用第二个参数来设置不需要删除的标签,主要涉及到strip_tags的第二个参数 strip_tags 函数 语...

PHP使用Curl实现模拟登录及抓取数据功能示例

本文实例讲述了PHP使用Curl实现模拟登录及抓取数据功能。分享给大家供大家参考,具体如下: 使用PHP的Curl扩展库可以模拟实现登录,并抓取一些需要用户账号登录以后才能查看的数据。具...

php使用PDO获取结果集的方法

本文实例讲述了php使用PDO获取结果集的方法。分享给大家供大家参考,具体如下: fetch()方法 fetch()方法用于获取结果集的下一行,语法如下: mixed PDOStatem...