Heim  >  Artikel  >  php教程  >  escape和urldecode

escape和urldecode

WBOY
WBOYOriginal
2016-06-13 09:58:121544Durchsuche

来自 http://cn.php.net/urldecode 评论中的例子,但是中文经escape处理后的字符串再执行此函数,返回的是中文的utf-8编码.

function unicode_urldecode($url)
{
preg_match_all('/%u([[:alnum:]]{4})/', $url, $a);

foreach ($a[1] as $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));
}
else
{
$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);
}

return urldecode($url);
}

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn