我正在创建一个黑名单,我想阻止给定网址的所有变体。例如,
www.google.com
google.com
google.com/maps
sub.google.com
google.com/dir/dir2/dir3
我对RegEx几乎一无所知,到目前为止,我有这种微弱的尝试:
$blacklist = array(
'\.google.\\',
);
有人能帮助我吗?
编辑:
我还想阻止具有特定扩展名的所有域名,例如 。我 .XXX
答案 0 :(得分:1)
如果您只是在进行pre_match,那么您可能只需要以下内容:
<?php
$subject = "somedomain";
$pattern = '/\.google\./';
if(preg_match($pattern, $subject)){
die('blacklisted');
}
?>
答案 1 :(得分:0)
如果您只想阻止域名,那么为什么不简单地使用strpos它真的很好,速度快于正则表达式匹配简单模式匹配..查看链接
$domain_name = "www.maps.google.com";
if(strpos($domain_name,"google") > 1)
do sumthing here
else
do sumthing
希望它有所帮助:)