由于某些我不明白的原因,FILTER_VALIDATE_URL表示以下网址有效:
http://ghjfgh
不是所有有效的网址都包含至少一个句点吗?我从来没有见过根据定义没有TDL的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;
?>
答案 0 :(得分:6)
根据RFC 2396进行过滤,http://ghjfgh
根据该规范有效。一个简单的例子是http://localhost
,这显然是有效的(正如@johnconde在评论中指出的那样)