gpt4 book ai didi

php - 使用 REGEX 验证带有 GET 参数的域名

转载 作者:可可西里 更新时间:2023-11-01 01:05:12 24 4
gpt4 key购买 nike

我正在尝试验证一个域是否确实具有带有 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';
}

在这里,我返回了 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';
}

关于php - 使用 REGEX 验证带有 GET 参数的域名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12704384/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com