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

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

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

4

2 回答 2

4

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

于 2013-01-15T22:05:50.313 回答
3

php.net上的用户评论指出:

“请注意 FILTER_FLAG_HOST_REQUIRED 和 FILTER_FLAG_SCHEME_REQUIRED 已经消失。它们之前在常量页面中提到过,但现在 validate_url 过滤器默认需要主机和方案。”

似乎该协议对于最近的 PHP 版本是必须的,并且不能被禁用。

于 2013-01-15T22:11:28.990 回答