我们经常用一些正则来验证url,但是php自带了一个类似的函数filter_var。函数用法:
参数标志:
FILTER_FLAG_SCHEME_REQUIRED – 要求 URL 是 RFC 兼容 URL。(比如:http://example)
FILTER_FLAG_HOST_REQUIRED – 要求 URL 包含主机名()
FILTER_FLAG_PATH_REQUIRED – 要求 URL 在主机名后存在路径(比如:/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
d/1_2.php?abc=456#55%20select%20union
dhttp://abc/1_2.php?abc456#55%20select%20union
如果觉得《php 过滤url_php系统自带url验证函数之过滤器FILTER_VALIDATE_URL》对你有帮助,请点赞、收藏,并留下你的观点哦!