ホームページ  >  記事  >  バックエンド開発  >  PHP_PHPチュートリアルでのエスケープunescapeの実装方法

PHP_PHPチュートリアルでのエスケープunescapeの実装方法

WBOY
WBOYオリジナル
2016-07-21 15:54:551087ブラウズ

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

www.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/318353.html技術記事 functionescape($str){ preg_match_all("/[x80-xff].|[x01-x7f]+/",$str,$r); $ar=$r[0]; foreach($aras$k=$v){ if(ord($v[0])128) $ar[$k]=rawurlencode($v); else $ar[$k]="%u".bin2hex(ic...
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。