请考虑以下域名后缀列表:
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”,“org”?
我需要涵盖以上列表中提到的所有域名后缀。用单一的正则表达式可以吗?或者任何其他好的解决方案都会有帮助?谢谢
发布于 2013-08-24 09:24:58
您可以使用下面的代码获取.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]: '';发布于 2013-08-24 08:47:41
如果您想使用域的最后一部分,可以使用类似的内容。
$name = 'www.birdslisten.org';
$array = explode(".", $name);
end($array);
$suffix = current($array);
echo $suffix;https://stackoverflow.com/questions/18416636
复制相似问题