在PHP中验证长URL的正则表达式
我正在寻找帮助,以创建一个正则表达式,验证一个非常长的URL(例如,一个非常长的谷歌地图地址)。我不熟悉正则表达式,我正在PHP中与preg_match()一起使用它 我用了这样的表达:在PHP中验证长URL的正则表达式,php,regex,url,preg-match,Php,Regex,Url,Preg Match,我正在寻找帮助,以创建一个正则表达式,验证一个非常长的URL(例如,一个非常长的谷歌地图地址)。我不熟悉正则表达式,我正在PHP中与preg_match()一起使用它 我用了这样的表达: preg_match('/^(http | https | ftp):\/\/([A-Z0-9][A-Z0-9\-]*(?:\.[A-Z0-9][A-Z0-9\-]*)+:?(\d+)\/?/i',$url) 但这对很长的URL不起作用。 我对正则表达式的了解几乎是不存在的,所以如果有一个简单的改变会有所帮助,
preg_match('/^(http | https | ftp):\/\/([A-Z0-9][A-Z0-9\-]*(?:\.[A-Z0-9][A-Z0-9\-]*)+:?(\d+)\/?/i',$url)
但这对很长的URL不起作用。
我对正则表达式的了解几乎是不存在的,所以如果有一个简单的改变会有所帮助,请随意指出
以下是我收到的错误示例:
如果链接最初是:
验证复制了:
正在验证该url是否有效:
$valid = filter_var($url, FILTER_VALIDATE_URL);
检查是否设置了所需的get变量,只需将它们作为关联数组获取并使用isset()
:
parse_str(parse_url($url,PHP_URL_QUERY),$get_variables);