Php 验证域白名单的脚本
我有一个简单的问题。我需要验证字符串并验证白名单域,如下所示:Php 验证域白名单的脚本,php,regex,Php,Regex,我有一个简单的问题。我需要验证字符串并验证白名单域,如下所示: $WList = array('mega.co.nz','mediafire.com','putlocker.com',''); $Dominio = str_replace("www.","",parse_url($EnlaceUrl,PHP_URL_HOST)); if(in_array($Dominio,$WList)){//ok} 但此方法不会重新设置me域,例如: www42.zippyshare.com,www51.z
$WList = array('mega.co.nz','mediafire.com','putlocker.com','');
$Dominio = str_replace("www.","",parse_url($EnlaceUrl,PHP_URL_HOST));
if(in_array($Dominio,$WList)){//ok}
但此方法不会重新设置me域,例如:
www42.zippyshare.com,www51.zippyshare.com,www71.zippyshare.com,www23.zippyshare.com
如何解决这个问题?:) 尝试此操作,删除所有以
www
开头的内容,直到第一个点(包括):
尝试此操作,删除从
www
开始直到第一个点(包括)的所有内容:
尝试此操作,删除从
www
开始直到第一个点(包括)的所有内容:
尝试此操作,删除从
www
开始直到第一个点(包括)的所有内容:
您可以使用以下选项:
if (preg_match('/[\w\d-]+\.(\w{3,4}|(\w{2,3}\.\w{2}))$/', $Dominio, $match))
$Dominio = $match[1];
它将anything.domainname.suffix
转换为domainname.suffix
,以便您可以根据列表进行测试。您可以使用以下方法:
if (preg_match('/[\w\d-]+\.(\w{3,4}|(\w{2,3}\.\w{2}))$/', $Dominio, $match))
$Dominio = $match[1];
它将anything.domainname.suffix
转换为domainname.suffix
,以便您可以根据列表进行测试。您可以使用以下方法:
if (preg_match('/[\w\d-]+\.(\w{3,4}|(\w{2,3}\.\w{2}))$/', $Dominio, $match))
$Dominio = $match[1];
它将anything.domainname.suffix
转换为domainname.suffix
,以便您可以根据列表进行测试。您可以使用以下方法:
if (preg_match('/[\w\d-]+\.(\w{3,4}|(\w{2,3}\.\w{2}))$/', $Dominio, $match))
$Dominio = $match[1];
它将
anything.domainname.suffix
转换为domainname.suffix
,以便您可以根据列表进行测试。另一个预匹配示例:
if(preg_match("/(?:([^.]+).)?([^.]+).([^\\/]+)/", $Dominio, $m)) {
$Dominio = $m[2] . '.' $m[3];
}
另一个preg_match示例:
if(preg_match("/(?:([^.]+).)?([^.]+).([^\\/]+)/", $Dominio, $m)) {
$Dominio = $m[2] . '.' $m[3];
}
另一个preg_match示例:
if(preg_match("/(?:([^.]+).)?([^.]+).([^\\/]+)/", $Dominio, $m)) {
$Dominio = $m[2] . '.' $m[3];
}
另一个preg_match示例:
if(preg_match("/(?:([^.]+).)?([^.]+).([^\\/]+)/", $Dominio, $m)) {
$Dominio = $m[2] . '.' $m[3];
}
你到底想要什么?EnlaceUrl是从哪里来的?你到底想做什么?$Dominio=preg_replace(“/www(.*?\/”,”),parse_url($EnlaceUrl,PHP_url_HOST));你到底想要什么?EnlaceUrl是从哪里来的?你到底想做什么?$Dominio=preg_replace(“/www(.*?\/”,”),parse_url($EnlaceUrl,PHP_url_HOST));你到底想要什么?EnlaceUrl是从哪里来的?你到底想做什么?$Dominio=preg_replace(“/www(.*?\/”,”),parse_url($EnlaceUrl,PHP_url_HOST));你到底想要什么?EnlaceUrl是从哪里来的?你到底想做什么?$Dominio=preg_replace(“/www(.*?\/”,”),parse_url($EnlaceUrl,PHP_url_HOST));我猜文字点也应该是匹配的一部分。我猜文字点也应该是匹配的一部分。我猜文字点也应该是匹配的一部分。我猜文字点也应该是匹配的一部分。使用此regexp,我将毫无例外地检索域名和后缀?ej subdomain.domain.com、www1.subdomain.com、w.subdomain.com是的,
blah.domain.co.uk
将返回m[1]=“blah”,m[2]=“domain”,m[3]=“co.uk”
使用此regexp,我将毫无例外地检索域和后缀?ej subdomain.domain.com、www1.subdomain.com、w.subdomain.com是的,blah.domain.co.uk
将返回m[1]=“blah”,m[2]=“domain”,m[3]=“co.uk”
使用此regexp,我将毫无例外地检索域和后缀?ej subdomain.domain.com、www1.subdomain.com、w.subdomain.com是的,blah.domain.co.uk
将返回m[1]=“blah”,m[2]=“domain”,m[3]=“co.uk”
使用此regexp,我将毫无例外地检索域和后缀?ej subdomain.domain.com、www1.subdomain.com、w.subdomain.com是,blah.domain.co.uk
将返回m[1]='blah',m[2]='domain',m[3]='co.uk'