2013-08-24 53 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和您在發佈答案而不檢查? –