【发布时间】:2011-12-14 13:15:30
【问题描述】:
我需要一个带有查询字符串(用 & 分隔的参数)的 URL 验证函数。目前我有以下用于验证 URL 的函数
$pattern = '/^(([\w]+:)?\/\/)?(([\d\w]|%[a-fA-f\d]{2,2})+(:([\d\w]|%[a-fA-f\d]{2,2})+)?@)?([\d\w][-\d\w]{0,253}[\d\w]\.)+[\w]{2,4}(:[\d]+)?(\/([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)*(\?(&?([-+_~.\d\w]|%[a-fA-f\d]{2,2})=?)*)?(#([-+_~.\d\w]|%[a-fA-f\d]{2,2})*)?$/';
echo preg_match($pattern, $url);
这个函数正确地验证输入
google.com
www.google.com
http://google.com
http://www.google.com ...等
但是当它带有参数(查询字符串)时,这不会验证 URL。例如。
http://google.com/index.html?prod=gmail&act=inbox
我需要一个接受这两种类型的 URL 输入的函数。请帮忙。提前致谢。
【问题讨论】:
标签: php url query-string url-validation