escape和urldecode_PHP教程
程序员文章站
2022-05-02 13:06:39
...
来自 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);
}
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);
}
推荐阅读
-
Centos7.0下安装Mono3.4 和 Jexus5.6 .net的图文教程
-
android教程viewpager自动循环和手动循环
-
Python和Sublime安装教程
-
ps如何制作样机?ps简单制作笔记本和名片的智能样机教程
-
Python中动态获取对象的属性和方法的教程
-
使用Python的urllib和urllib2模块制作爬虫的实例教程
-
vue-cli搭建项目引入jquery和jquery-weui的步骤教程
-
eclipse和myeclipse安装教程及eclipse汉化教程(图文)
-
剪映音乐怎么和视频对齐 剪映app音乐和视频对齐的图文教程分享
-
在IE浏览器中使用和管理RSS订阅源图文教程