ホームページ >php教程 >php手册 >PHPでのエスケープunescapeの実装方法

PHPでのエスケープunescapeの実装方法

WBOY
WBOYオリジナル
2016-06-13 12:31:36800ブラウズ

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); 
}

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。