parse_url и удаление поддоменов

Я хочу вычеркнуть все из 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 для этого. Любая идея, как я могу объединить два?

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

0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]