参见英文答案 > How do I apply URL normalization rules in PHP? 1个
是否有任何快速功能可以转换:HtT:/ www.ExAmPle.com/blah到http://www.example.com/blah
基本上我想小写一个url的不区分大小写的部分.
解决方法:
既然你要求“快速”,这是一个完成工作的单线程:
$url = 'HtTp://User:Pass@www.ExAmPle.com:80/Blah';
echo preg_replace_callback(
'#(^[a-z]+://)(.+@)?([^/]+)(.*)$#i',
create_function('$m',
'return strtolower($m[1]).$m[2].strtolower($m[3]).$m[4];'),
$url);
输出:
http://User:Pass@www.example.com:80/Blah
编辑/添加:
我已经测试过,这个版本比使用带有匿名函数的preg_replace_callback快55%:
echo preg_replace(
'#(^[a-z]+://)(.+@)?([^/]+)(.*)$#ei',
"strtolower('\\1').'\\2'.strtolower('\\3').'\\4'",
$url);
标签:php,url,encoding,formatting,html
来源: https://codeday.me/bug/20190721/1496068.html