php escape URL編碼
更新時(shí)間:2008年12月10日 12:24:14 作者:
php提供的URL編碼函數(shù)是基于字節(jié)的,對(duì)由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);
}
復(fù)制代碼 代碼如下:
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下的實(shí)現(xiàn)方法
- php utf-8轉(zhuǎn)unicode的函數(shù)
- php 正確解碼javascript中通過escape編碼后的字符
- php UTF-8、Unicode和BOM問題
- PHP下escape解碼函數(shù)的實(shí)現(xiàn)方法
- 在PHP中實(shí)現(xiàn)Javascript的escape()函數(shù)代碼
- PHP中正則表達(dá)式對(duì)UNICODE字符碼的匹配方法
- 解析php中的escape函數(shù)
- 如何使用PHP實(shí)現(xiàn)javascript的escape和unescape函數(shù)
- 淺析PHP中的UNICODE 編碼與解碼
- PHP函數(shù)addslashes和mysql_real_escape_string的區(qū)別
- PHP解碼unicode編碼的中文字符代碼分享
- PHP解密Unicode及Escape加密字符串
相關(guān)文章
有關(guān)PHP中MVC的開發(fā)經(jīng)驗(yàn)分享
經(jīng)過近一個(gè)月對(duì)MVC的研究,自己也通過網(wǎng)上有朋友的指導(dǎo),有了一套自己的MVC流程及框架,但是感覺缺限還是很多,靈活性方面還是欠缺,但又不知道怎么樣的具體改進(jìn),今天我就把我的流程及思想發(fā)布,希望有高人能夠指點(diǎn)指點(diǎn)2012-05-05php max_execution_time執(zhí)行時(shí)間問題
大部分PHP代碼執(zhí)行時(shí)間都不會(huì)很久。但是有些時(shí)候,比如等待圖片上傳,可能執(zhí)行時(shí)間過長(zhǎng)導(dǎo)致超時(shí)。2011-07-07laravel創(chuàng)建類似ThinPHP中functions.php的全局函數(shù)
最近在學(xué)習(xí)如何使用Laravel寫東西,因?yàn)榭蚣鼙旧淼脑O(shè)計(jì)理念的不同,剛從ThinPHP3切換到Laravel5,感覺還是很怪的,各種不習(xí)慣,但是一旦寫過一些代碼,發(fā)現(xiàn)Laravel真的非常好用。這篇文章給大家分享的是利用laravel創(chuàng)建類似ThinPHP中functions.php的全局函數(shù)。2016-11-11php使用APC實(shí)現(xiàn)實(shí)時(shí)上傳進(jìn)度條功能
這篇文章主要介紹了php使用APC實(shí)現(xiàn)實(shí)時(shí)上傳進(jìn)度條功能,php本身不具備可以帶有實(shí)時(shí)上傳進(jìn)度條功能,但是php提供了一個(gè)apc,它可以與php配置實(shí)現(xiàn)上傳進(jìn)度條,感興趣的小伙伴們可以參考一下2015-10-10學(xué)習(xí)php設(shè)計(jì)模式 php實(shí)現(xiàn)策略模式(strategy)
這篇文章主要介紹了php設(shè)計(jì)模式中的適配器模式,使用php實(shí)現(xiàn)適配器模式,感興趣的小伙伴們可以參考一下2015-12-12php短域名轉(zhuǎn)換為實(shí)際域名函數(shù)
現(xiàn)在很多朋友需要將實(shí)際域名轉(zhuǎn)換為短域名,但也有朋友需要反轉(zhuǎn)查看下實(shí)際域名,那么就可以使用這個(gè)函數(shù)。2011-01-01