6

为什么filter_var()接受并验证此 URL http://http://www.google.com

$website = "http://http://www.google.com";

echo filter_var($website, FILTER_VALIDATE_URL); // This outputs the value of $website

我认为这是错误的。任何解决方案或解决这个问题?

phpinfo()

在此处输入图像描述

4

1 回答 1

2

好像您在 PHP 中发现了一个错误。PHP 手册指出 FILTER_VALIDATE_URL 根据http://www.faqs.org/rfcs/rfc2396.html验证 uris

如果您阅读规范,PHP 显然无法按照指南正确验证。具体来说,在第 3 节(URI 语法组件)中,定义了该方案(在您的情况下为 http)可能只存在一次,并且在 uri 中唯一的冒号之前。

您应该在https://bugs.php.net/报告此错误

找到它的好工作!

于 2013-06-27T03:00:01.853 回答