Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/blackberry/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在PHP中验证长URL的正则表达式_Php_Regex_Url_Preg Match - Fatal编程技术网

在PHP中验证长URL的正则表达式

在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不起作用。 我对正则表达式的了解几乎是不存在的,所以如果有一个简单的改变会有所帮助,

我正在寻找帮助,以创建一个正则表达式,验证一个非常长的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不起作用。 我对正则表达式的了解几乎是不存在的,所以如果有一个简单的改变会有所帮助,请随意指出

以下是我收到的错误示例:

如果链接最初是:

验证复制了:

正在验证该url是否有效:

 $valid = filter_var($url, FILTER_VALIDATE_URL);
检查是否设置了所需的get变量,只需将它们作为关联数组获取并使用
isset()

 parse_str(parse_url($url,PHP_URL_QUERY),$get_variables);