将URL转换为一种标准格式

Hen*_*son 11 php url

以下是一些网址:

http://sub.example.com/?feed=atom&hello=world
http://www.sub.example.com/?feed=atom&hello=world
http://sub.example.com/?hello=world&feed=atom
http://www.sub.example.com/?hello=world&feed=atom
http://www.sub.example.com/?hello=world&feed=atom
http://www.sub.example.com/?hello=world&feed=atom#123
Run Code Online (Sandbox Code Playgroud)

如您所见,它们都导致完全相同的页面,但URL格式不同.这是另外两个基本的例子:

http://example.com/hello/
http://example.com/hello
Run Code Online (Sandbox Code Playgroud)

两者都是一样的.

我想 URL转换为一种标准格式,这样当我将URL存储在数据库中时,我可以轻松检查数据库中是否已存在URL字符串.

由于URL的格式化方式各不相同,这可能令人费解.

将URL转换为一种标准格式的最终方法是什么?也许parse_url()路线......?

编辑

正如评论中所述,没有明确的解决方案,但目标是尽可能接近我们所拥有的内容而不 "检索"页面.请在发布此赏金的答案之前阅读评论.

IVO*_*LOV 1

您先请parse_url

  1. 去掉域名www前缀
  2. 如果路径不为空 - 删除末尾的斜杠
  3. 按查询参数名称的字母顺序对查询参数进行排序 - 如果有的话

组合这些部分以获得规范的 URL。