PHP-使用REGEX使用GET参数验证域名
作者:互联网
我正在尝试验证域是否确实具有带有preg_match和REGEX的GET参数,而我需要它用于我的目的.
我正在做的是验证没有GET参数的域,如下所示:
if (preg_match("/^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}$/", 'domain.com')) {
echo 'true';
} else {
echo 'false';
}
这个测试我是正确的.
到现在为止还挺好.我遇到的麻烦是添加了GET参数,在我尝试过仍然不走运的许多REGEX中,以下内容是:
if (preg_match("/^[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}([/?].*)?$/", 'domain.com?test=test')) {
echo 'true';
} else {
echo 'false';
}
在这里,我得到了错误的返回值,因此无法使用所需的GET参数来验证域.
任何帮助将不胜感激^^
问候
解决方法:
此代码未经测试,但我认为它应该可以工作:
$pattern = "([a-z0-9-.]*)\.([a-z]{2,3})"; //Host
$pattern .= "(\?[a-z+&\$_.-][a-z0-9;:@&%=+\/\$_.-]*)?"; //Get requests
if (preg_match($pattern, 'domain.com?test=test')) {
echo 'true';
} else {
echo 'false';
}
标签:preg-match,php,regex 来源: https://codeday.me/bug/20191031/1978651.html