如何使用PHP识别(而不是验证)URL

时间:2015-06-04 12:12:04

标签: php url protocols strpos

我知道filter_var()并且它是FILTER_VALIDATE_URL过滤器。关键是有一些URL存在但不算作有效的URL我需要验证它们。例如,带空格的网址。

目前我只使用strpos()检查应用程序感兴趣的协议(http,https和ftp)。

但我想知道PHP中是否有更通用的方法可供我使用?

如果我解释说我需要区分目标来源是URL还是本地路径,这可能会有所帮助。

1 个答案:

答案 0 :(得分:2)

使用函数parse_url()将URL拆分为组件,然后对它返回的部分进行一些基本分析(或者只检查返回的值是array()还是FALSE)。 / p>

正如文件所说:

  

此功能并不是为了验证给定的URL,而是将其分解为上面列出的部分。部分网址也被接受,parse_url()会尽力正确解析它们。

还有:

  

在严重格式错误的网址上,parse_url()可能会返回FALSE

看起来它很符合您的要求。