请考虑以下域名后缀列表:
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 :(得分: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]: '';
答案 1 :(得分:0)
如果你想要域名的最后一部分,你可以使用这样的东西
$name = 'www.birdslisten.org';
$array = explode(".", $name);
end($array);
$suffix = current($array);
echo $suffix;