PHP中是否存在预先存在的URL规范化功能或类?
具体来说,遵循此wikipedia article on URL normalization中规定的语义保留规范化规则,(或者我应该遵循的任何标准'标准)。
现在,我认为我只会使用parse_url()
,并单独应用规则,但我更愿意避免重新发明轮子。
答案 0 :(得分:6)
Pear Net_URL2库看起来至少可以完成您想要的部分内容。它将删除点段,修复大小写并摆脱默认端口:
include("Net/URL2.php");
$url = new Net_URL2('HTTP://example.com:80/a/../b/c');
print $url->getNormalizedURL();
发射:
http://example.com/b/c
我怀疑是否有一种向目录添加尾部斜杠的通用机制,因为您需要一种将URL映射到目录的方法,这种方式很难以通用的方式进行。但它很接近。
参考文献: