|
|
1
4
|
|
|
2
0
编辑: 请看韦比戴夫的回答。他的好得多(我甚至不知道PHP中有一个函数可以做到这一点)。。每天学习新的东西)
您必须解析字符串以查找匹配的内容
不确定这是最有效的方法,但是考虑到url通常不会那么长,所以不应该对性能造成太大的影响。 |
|
|
3
0
我知道这个问题似乎是韦比戴夫解决的,但我有自己的问题。 第一个问题:编码字符不区分大小写。因此%C3和%C3都是完全相同的字符,尽管它们作为URI是不同的。所以两个uri都指向同一个位置。 第二个问题:文件夹%20(2)和文件夹%20%282%29都是有效的urlencoded uri,它们指向相同的位置,尽管它们是不同的uri。 第三个问题:如果去掉url编码的字符,我有两个具有相同URI的位置,比如bla%2fblub和bla/blubb。 那该怎么办呢?为了比较两个uri,我需要对它们进行规范化,以便在所有组件中对它们进行拆分,对所有路径和查询部分进行urldecode一次,对它们进行rawurlcode并将它们粘在一起,然后再进行比较。 这可能是规范化它的函数:
现在你可以把韦比戴夫的功能改成:
应该可以。是的,这比我想象的要复杂得多。 |