php escape URL編碼
更新時間:2008年12月10日 12:24:14 作者:
php提供的URL編碼函數(shù)是基于字節(jié)的,對由ie的javascript函數(shù)escape編碼的數(shù)據(jù)就無能為力了。
徐祖寧的php版的escape/unescape函數(shù)
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);
}
復制代碼 代碼如下:
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);
}
您可能感興趣的文章:
- escape unescape的php下的實現(xiàn)方法
- php utf-8轉(zhuǎn)unicode的函數(shù)
- php 正確解碼javascript中通過escape編碼后的字符
- php UTF-8、Unicode和BOM問題
- PHP下escape解碼函數(shù)的實現(xiàn)方法
- 在PHP中實現(xiàn)Javascript的escape()函數(shù)代碼
- PHP中正則表達式對UNICODE字符碼的匹配方法
- 解析php中的escape函數(shù)
- 如何使用PHP實現(xiàn)javascript的escape和unescape函數(shù)
- 淺析PHP中的UNICODE 編碼與解碼
- PHP函數(shù)addslashes和mysql_real_escape_string的區(qū)別
- PHP解碼unicode編碼的中文字符代碼分享
- PHP解密Unicode及Escape加密字符串
相關文章
php max_execution_time執(zhí)行時間問題
大部分PHP代碼執(zhí)行時間都不會很久。但是有些時候,比如等待圖片上傳,可能執(zhí)行時間過長導致超時。2011-07-07
laravel創(chuàng)建類似ThinPHP中functions.php的全局函數(shù)
最近在學習如何使用Laravel寫東西,因為框架本身的設計理念的不同,剛從ThinPHP3切換到Laravel5,感覺還是很怪的,各種不習慣,但是一旦寫過一些代碼,發(fā)現(xiàn)Laravel真的非常好用。這篇文章給大家分享的是利用laravel創(chuàng)建類似ThinPHP中functions.php的全局函數(shù)。2016-11-11
學習php設計模式 php實現(xiàn)策略模式(strategy)
這篇文章主要介紹了php設計模式中的適配器模式,使用php實現(xiàn)適配器模式,感興趣的小伙伴們可以參考一下2015-12-12

