我只想查看已完成的网站:*.test.com
和*.test1.com
我试过了:
if((preg_match('.\w+.test.com', $_SERVER['HTTP_ORIGIN'])) or (preg_match('.\w+.test1.com', $_SERVER['HTTP_ORIGIN']))){
}
答案 0 :(得分:6)
对于初学者,您需要最可靠的方法来分解任何给定的网址。为此,您可以使用PHP的built-in parse_url
function:
$host = parse_url($url, PHP_URL_HOST);
然后,您要检查它是否以test.com
或test1.com
结尾,您可以使用正则表达式执行此操作:
if (preg_match('/test1?\.com$/', $host)) {
//match
}
正则表达式的工作原理如下:
test
:匹配字符串文字“test” 1?
:匹配文字1
,但它是可选的,因此test
和test1
都匹配\.
:文字点匹配com
:com的文字匹配$
:字符串结尾。只有在test.com
或test1.com
中字符串 结束 时,表达式才会匹配。只是警告:$_SERVER['HTTP_ORIGIN']
,实际上几乎没有$_SERVER
值可信任。您可以在此处阅读有关此主题的更多信息(+链接页面)
答案 1 :(得分:0)
你可以使用str_pos。 Str_pos将在字符串,链接,网址内搜索.. 文档link
这是一个小例子
if(strpos($_SERVER['HTTP_ORIGIN'], 'test.com') !== false) {
echo "found it";
}