2013-08-24 31 views
0

请考虑域名后缀的文章:如何获得域的唯一后缀部分?

COM .CO .INFO .NET .ORG .US .CA .MOBI .BIZ .ME .CC .NAME .TV .WS .DE .AM .FM .BZ .COM.BZ .NET.BZ .ES .ASIA .SE .XXX 

我需要提取唯一的后缀部分从上面域列表。例如,如果我有'www.google.com','www.backforgood.us','www.birdslisten.org'等等,我需要的只有'com','us','组织“?

我需要覆盖上述列表中提到的所有域后缀。单个正则表达式有可能吗?或者其他好的解决方案会有帮助吗?由于

+0

如果'www.example.co.in' comes.You想.IN或'.co.in' –

+0

正则表达式的部分在此说明http://stackoverflow.com/questions/9267389/regex -extract-domain-name-and-tld –

+0

@ User016,我想'.co.in',完整的后缀部分。因为我的清单中包含'COM.BZ' –

回答

2

的最后一部分,您可以通过下面的代码获得.co.in.co.uk后缀。

$host = 'http://www.google.co.in'; 
//$host = 'http://www.google.co.uk'; 
preg_match('/(.*?)((\.co)?.[a-z]{2,4})$/i', $host, $m); 
echo $ext = isset($m[2]) ? $m[2]: ''; 

代码测试.co.in.co.uk

而对于.com.biz需要改变正则表达式一点。

$host = 'http://www.google.com.biz'; 
preg_match('/(.*?)((\.co[a-zA-Z])?.[a-z]{2,4})$/i', $host, $m); 
echo $ext = isset($m[2]) ? $m[2]: ''; 
+0

太棒了!这对我来说是很好的解决方案。非常感谢你! –

0

您可以使用这样的事情,如果你想要的域名

$name = 'www.birdslisten.org'; 
$array = explode(".", $name); 
end($array); 
$suffix = current($array); 
echo $suffix; 
+1

.co.in怎么样? –

+0

@DevangRathod,是的它应该包括'.co.in'。我需要域的完整后缀部分。由于我的清单中包含'COM.BZ' –

+0

@ User016您已经说过自己,那么.co.in和您在发布答案而不检查? –