php系统自带url验证函数之过滤器FILTER_VALIDATE_URL

    |     2017年6月5日   |   学习偶记   |     评论已关闭   |    9355

我们经常用一些正则来验证url,但是php自带了一个类似的函数filter_var。函数用法:
参数标志:

FILTER_FLAG_SCHEME_REQUIRED – 要求 URL 是 RFC 兼容 URL。(比如:http://example)
FILTER_FLAG_HOST_REQUIRED – 要求 URL 包含主机名(http://www.example.com)
FILTER_FLAG_PATH_REQUIRED – 要求 URL 在主机名后存在路径(比如:eg.com/example1/)
FILTER_FLAG_QUERY_REQUIRED – 要求 URL 存在查询字符串(比如:”eg.php?age=37″)

参数可组合使用,例如filter_var($url, FILTER_VALIDATE_URL, FILTER_FLAG_QUERY_REQUIRED, FILTER_FLAG_PATH_REQUIRED)

其中FILTER_VALIDATE_URL 的意思是以url方式过滤变量$url,如果不符合url,以及没有查询字符串和路径的话,这个值就是false.

注意,如果url正确,filter_var返回的值是变量$url本身。

值得注意的是,这个函数过滤,只是简单的过滤验证。

以下的例子,都验证为成功,但是很显然不是正确的URL

dhttp://www.baidu.com/1_2.php?abc=456#55%20select%20union

dhttp://abc/1_2.php?abc456#55%20select%20union

噢!评论已关闭。