我想只检查站点完成了:*.test.com和*.test1.com
我想:
if((preg_match('.\w+.test.com', $_SERVER['HTTP_ORIGIN'])) or (preg_match('.\w+.test1.com', $_SERVER['HTTP_ORIGIN']))){
}
Run Code Online (Sandbox Code Playgroud)
对于初学者,您需要最可靠的方法来分解任何给定的URL.为此,您可以使用PHP的内置parse_url函数:
$host = parse_url($url, PHP_URL_HOST);
Run Code Online (Sandbox Code Playgroud)
然后,您要检查它是否以test.com或test1.com使用正则表达式结束:
if (preg_match('/test1?\.com$/', $host)) {
//match
}
Run Code Online (Sandbox Code Playgroud)
正则表达式的工作方式如下:
test:匹配字符串文字"test"1?:匹配文字1,但它是可选的,所以两者test并test1会匹配\.:一个字面点匹配com:com的文字匹配$:字符串结尾.表达式仅在字符串以或结尾时匹配.test.comtest1.com只是一句警告:$_SERVER['HTTP_ORIGIN']实际上几乎没有任何$_SERVER值可信.你可以在这里阅读更多关于这个主题的内容(+链接页面)