我正在创建一个小脚本,我想检查一个特定的URL是否有效。我在下面找到了这个函数来做到这一点。但是,如果它以http://
开头,则只返回true,是否可以接受如下所示的URL
www.example.com
example.com
代码:
if (filter_var('http://www.example.com', FILTER_VALIDATE_URL) !== FALSE) {
}
答案 0 :(得分:0)
我认为最简单的方法是,如果检查失败,只需在它前面拍打http://
并尝试。如果有效,那么很有可能它是一个有效的http网址,只是将http://
部分遗漏了。函数filter_var()
绝对是正确的方法。编写自己的正则表达式,尝试下载地址等是完全没必要的。
答案 1 :(得分:0)
尝试以下正则表达式方法......
function is_url_valid($url)
{
if(! preg_match('/^(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?$/', $url))
{
return false;
}
else return true;
}