3

出于某种我不明白的原因,FILTER_VALIDATE_URL 说以下 URL 是有效的:

http://ghjfgh

不是所有有效的 URL 都至少包含一个句点吗?我从未见过没有定义的 TDL。那么为什么 PHP 说它是有效的呢?

这是代码。您可以自己在phpfiddle.org上快速运行它:

<?php
$URL = "http://ghjfgh";

    if($URL != "" && !filter_var($URL, FILTER_VALIDATE_URL)) {
        $error = "Please enter a valid URL";
    } else {
        $error = "All good";
    }

echo $error;
?>
4

1 回答 1

6

它根据RFC 2396进行过滤,并且http://ghjfgh根据该规范有效。一个简单的例子http://localhost是显然有效的(正如@johnconde 在评论中指出的那样)

于 2014-07-22T12:59:00.557 回答