php url验证器显示有效地址无效

时间:2013-01-15 22:03:26

标签: php url-validation

if (!filter_var($site, FILTER_VALIDATE_URL, FILTER_FLAG_HOST_REQUIRED))...

此验证器显示:
https://www.g - 作为有效地址!
www.google.com - 作为无效地址!

如果您在地址栏中键入一些地址,并且您发现它有效 - 它应该是一个有效的地址。反之亦然。我需要这样一个验证器。 或者 - 我在上面的代码中遗漏了一些东西?

2 个答案:

答案 0 :(得分:4)

www.google.com不是有效的网址。它需要一个有效的协议,即http://www.google.com

答案 1 :(得分:3)

用户对php.net州的评论:

“请注意,FILTER_FLAG_HOST_REQUIRED和FILTER_FLAG_SCHEME_REQUIRED已经消失。它们之前在常量页面中提到过,但似乎默认情况下主机和方案是validate_url过滤器所必需的。”

似乎协议是最新PHP版本必须的,无法禁用。