Фунция за намиране адрес на сайт

Dodo1987

Registered
Здравейте,

някой може ли да предложи фунция с която да се намира основния домейн на сайта който е подаден.
Въпроса е да може да намират домейните при следните случай с поддомейни:

http://www.www5.test.com - test.com
http://www5.test.com - test.com
http://something.test.com - test.com
http://www1.second.main.com - main.com
 
Написах ти набързо една функция :)
Код:
function getHost($url){

    $special_domains = array('co.uk');
    $url = strtolower(parse_url($url, PHP_URL_HOST));

    $parts = explode('.', $url);
    $count = count($parts);
    
    if ($count == 0 || in_array('', $parts)) {
        return FALSE;
    } elseif ($count == 2) {
        return implode('.', $parts);
    } else {
        $test = $parts[$count-2] . '.' . $parts[$count-1];
        if (in_array($test, $special_domains)) {
            return $parts[$count-3] . '.' . $test;
        }
        
        return $test;
    }
}
Сложих допълнителната проверка in_array('', $parts), защото ако се въведе адрес http://.bg/ и $parts става масив от два елемента -> един празен и един 'bg' и така функцията връща '.bg'. Ако по-нагоре валидираш домейните, можеш да премахнеш тази проверка.
 

Back
Горе