ホームページ  >  記事  >  バックエンド開発  >  エスケープとurldecode_PHPのチュートリアル

エスケープとurldecode_PHPのチュートリアル

WBOY
WBOYオリジナル
2016-07-13 10:58:36924ブラウズ

http://cn.php.net/urldecode のコメントの例よりですが、中国語のエスケープ処理された文字列がこの関数を実行すると、返される中国語の UTF-8 エンコーディングが返されます。
関数 unicode_urldecode($url)
{
preg_match_all('/%u([[:alnum:]]{4})/', $url, $a);

foreach ($a[1] を $uniord として)
{
$dec = hexdec($uniord);
$utf = '';

if ($dec {
$utf = chr($dec);
}
else if ($dec {
$utf = chr(192 (($dec - ($dec % 64)) / 64));
$utf .= chr(128 ($dec % 64));
}
それ以外
{
$utf = chr(224 (($dec - ($dec % 4096)) / 4096));
$utf .= chr(128 ((($dec % 4096) - ($dec % 64)) / 64));
$utf .= chr(128 ($dec % 64));
}

$url = str_replace('%u'.$uniord, $utf, $url);
}

urldecode($url)を返します;
}

http://www.bkjia.com/PHPjc/631987.htmlwww.bkjia.comtru​​ehttp://www.bkjia.com/PHPjc/631987.html技術記事コメントの例は http://cn.php.net/urldecode からのものですが、中国語のエスケープ処理された文字列がこの関数で実行されると、中国語の UTF-8 エンコード関数 unicode_urldecode($url.. .
声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。