我正在寻找有助于创建正则表达式的帮助,该正则表达式验证非常长的URL(例如,非常长的Google地图地址)。我是正则表达式的新手,我在PHP中使用它与preg_match()。
我使用了表达式:
preg_match('/^(http|https|ftp):\/\/([A-Z0-9][A-Z0-9_-]*(?:\.[A-Z0-9][A-Z0-9_-]*)+):?(\d+)?\/?/i', $url)
但这对于很长的网址不起作用。 我对正则表达式的了解几乎不存在,所以如果有一个简单的改变可以提供帮助,请随时指出。
以下是我收到的错误示例:
答案 0 :(得分:2)
验证它是否是有效网址:
$valid = filter_var($url, FILTER_VALIDATE_URL);
检查是否设置了必需的get变量,只需将它们作为关联数组并使用isset()
:
parse_str(parse_url($url,PHP_URL_QUERY),$get_variables);