从URL获取域扩展?

use*_*021 0 php

我想从网址获取域名扩展名.例如..com,.net等

我用过这个:

$extension = pathinfo($_SERVER['SERVER_NAME'], PATHINFO_EXTENSION);
Run Code Online (Sandbox Code Playgroud)

我只是想知道是否有更好的方法使用parse_url?

Nad*_*adh 9

使用parse_url().就像是:

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

$ext = isset($m[2]) ? $m[2]: '';
Run Code Online (Sandbox Code Playgroud)

编辑:使用此答案的正则表达式修复.像.co.uk这样的扩展也受支持.