@L_404_0@中的URL规范化是否存在预先存在的功能或类?
具体来说,遵循本wikipedia article on URL normalization规定的语义保存规范化规则(或者我应该遵循的任何“标准”).
>将方案和主机转换为小写
在转义序列中大写字母
>添加尾随/(到目录,而不是文件)
>删除默认端口
>删除点段
现在,我想我只是使用parse_url(),并单独应用规则,但我宁愿避免重新创造轮子.
Pear Net_URL2图书馆看起来会像您想要的至少一部分.它会删除点段,修复大小写,并摆脱默认端口:
原文链接:https://www.f2er.com/php/131541.htmlinclude("Net/URL2.PHP"); $url = new Net_URL2('HTTP://example.com:80/a/../b/c'); print $url->getNormalizedURL();
发出:
http://example.com/b/c
我怀疑有一个通用的机制来添加尾部斜杠到目录,因为您需要一种方法来将url映射到以通用方式进行挑战的目录.但是很接近.
参考文献:
> http://pear.php.net/package/Net_URL2
> http://pear.php.net/package/Net_URL2/docs/latest/Net_URL2/Net_URL2.html