parse_url和删除子域

时间:2015-09-26 11:36:44

标签: php preg-replace parse-url

我想从网址中删除所有内容。所以http://i.imgur.com/rA81kQf.jpg变成了imgur.com。

$url = 'http://i.imgur.com/rA81kQf.jpg';

$parsedurl = parse_url($url);

$parsedurl = preg_replace('#^www\.(.+\.)#i', '$1', $parsedurl['host']);

// now if a dot exists, grab everything after it. This removes any potential subdomain
$parsedurl = preg_replace("/^(.*?)\.(.*)$/","$2",$parsedurl);

以上的作品,但我觉得我应该只是一个preg_replace。知道如何将两者结合起来吗?

1 个答案:

答案 0 :(得分:0)

您可以使用parse_url()来获得所需的输出,

    $url = "http://i.imgur.com/rA81kQf.jpg";
    $parseData = parse_url($url);
    $domain = preg_replace('/^www\./', '', $parseData['host']);


    $array = explode(".", $domain);

    echo (array_key_exists(count($array) - 2, $array) ? $array[count($array) - 2] : "") . "." . $array[count($array) - 1];

打印

imgur.com