为什么带有FILTER_VALIDATE_URL的filter_var将此字符串显示为有效URL?

时间:2018-11-15 22:36:52

标签: php url filter-var

输入字符串为:

https://lh

但是,具有:

var_dump(filter_var('https://lh', FILTER_VALIDATE_URL)) // string(10) "https://lh"

由于某种原因,上述字符串被分类为有效URL。我读过另一篇SO文章,指出FILTER_VALIDATE_URL不限于http协议,但可以肯定的是,以上链接对于任何协议都不是有效的URL。

为什么会这样?

1 个答案:

答案 0 :(得分:-1)

好,稍后会有很多评论,但有些离题,没有答案。

因此...

有效的URL不必使用FQDN-它可以仅使用主机名。 protocol://host:port/path/filename.foo?arguments协议和主机名是启动连接所需的唯一条件,主机名上唯一关键的部分是客户端必须能够解析它-主机文件,dns,具有附加搜索域的dns )等

如果其他评论者中有任何需要编辑的内容,等等,请随意。