我知道filter_var()
并且它是FILTER_VALIDATE_URL
过滤器。关键是有一些URL存在但不算作有效的URL我需要验证它们。例如,带空格的网址。
目前我只使用strpos()
检查应用程序感兴趣的协议(http,https和ftp)。
但我想知道PHP中是否有更通用的方法可供我使用?
如果我解释说我需要区分目标来源是URL还是本地路径,这可能会有所帮助。
答案 0 :(得分:2)
使用函数parse_url()
将URL拆分为组件,然后对它返回的部分进行一些基本分析(或者只检查返回的值是array()
还是FALSE
)。 / p>
正如文件所说:
此功能并不是为了验证给定的URL,而是将其分解为上面列出的部分。部分网址也被接受,
parse_url()
会尽力正确解析它们。
还有:
在严重格式错误的网址上,
parse_url()
可能会返回FALSE
。
看起来它很符合您的要求。