使用PHP筛选验证URL


Validating URL(s) with PHP Filtering

FILTER_VALIDATE_URL在验证类似http://example.comhttp://www.example.com,的内容时返回true,但对www.example.com 返回false

是否有任何标志可以允许像www.example.com这样的URL被验证为有效?我试着查看文档,但没有任何内容可以解决这个问题。

如果没有这样的标志,我应该使用什么作为验证url的替代方法?

您可以通过parse_url传递字符串,然后添加任何丢失的元素,例如

if ( $parts = parse_url($url) ) {
   if ( !isset($parts["scheme"]) )
   {
      $url = "http://$url";
   }
}

然后您应该将$url与FILTER_VALIDATE_url一起使用。

看看这里

parse_url