Php 仅获取指定的url
我只想检查在以下位置完成的站点:Php 仅获取指定的url,php,regex,Php,Regex,我只想检查在以下位置完成的站点:*.test.com和*.test1.com 我试过: if((preg_match('.\w+.test.com', $_SERVER['HTTP_ORIGIN'])) or (preg_match('.\w+.test1.com', $_SERVER['HTTP_ORIGIN']))){ } 您可以使用str_pos。str_pos将在字符串、链接、url内搜索。。 文件 这里有一个小例子 if(strpos($_SERVER['HTTP_ORIGIN'],
*.test.com
和*.test1.com
我试过:
if((preg_match('.\w+.test.com', $_SERVER['HTTP_ORIGIN'])) or (preg_match('.\w+.test1.com', $_SERVER['HTTP_ORIGIN']))){
}
您可以使用str_pos。str_pos将在字符串、链接、url内搜索。。 文件 这里有一个小例子
if(strpos($_SERVER['HTTP_ORIGIN'], 'test.com') !== false) {
echo "found it";
}
首先,您需要最可靠的方法来分解任何给定的url。为此,您可以使用PHP的: 然后,您要检查它是否以
test.com
或test1.com
结尾,您可以使用正则表达式执行以下操作:
if (preg_match('/test1?\.com$/', $host)) {
//match
}
正则表达式的工作原理如下:
:匹配字符串文字“test”test
:匹配文本1?
,但它是可选的,因此1
和test
都将匹配test1
:文字点匹配\。
:com的文本匹配com
:字符串结束。仅当字符串在$
或test.com
中结束时,表达式才会匹配test1.com
只是警告一句:
$\u SERVER['HTTP\u ORIGIN']
,事实上几乎所有的$\u SERVER
值都不可信。您可以在此处阅读有关此主题的更多内容(+链接页面)
试试$urlcheck=expload(“test.com”,美元服务器['HTTP\u ORIGIN']);if(isset($urlcheck[1])//这意味着它有test.com,所以您的代码在这里。请同时在test.com和*.test1.comPHP中试用。HP需要为其正则表达式使用分隔符。那些正则表达式应该抛出错误。您没有检查
test1.com
。您试图编辑我的答案:请再次阅读问题:OP想要检查“test.com”和“test1.com”。除了未检查的test1
。如果我拥有一个像“com.org”这样的域名,并且有一个“test”子域,那么您的检查将不会在HTTP\u ORIGIN
beingtest.com.org
if (preg_match('/test1?\.com$/', $host)) {
//match
}