[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как вернуть домен из строки?
kuzroman
Подскажите как из реферальной ссылки которая заносится в строку получить домен без www
в случае если будет поддомен его тоже необходимо вернуть и сохранить в другую переменную.

Пробовал делать 2мя способами

1й) В первом случае я специально определял http://yandex.ru,
но что то мне подсказывает что не у всех пользователей всегда отображается без www, так что метод слабоват:

Собственно:

    $REFERER=getenv("HTTP_REFERER");
$url_stat= substr( $REFERER, 0, 16); // обрезаем чтобы потом найти "http://yandex.ru"


Дело в том что потом мне нудно сравнивать в if приход с http://yandex.ru
 if( $url_stat=="http://yandex.ru") // если пришли с яндекса то ....


2й) вариант:

    $referer=getenv("HTTP_REFERER"); 

preg_match("/^(http:\/\/)?([^\/]+)/i", $referer, $matches);
$host = $matches[2]; // echo $matches[2]."<br>";
preg_match("/[^\.\/]+\.[^\.\/]+$/", $host, $matches); // $matches[0]


и потом уже сравниваю
if( $matches[0]=="yandex.ru" ) // если пришли с яндекса то ....


этот вариант неподходит в следствии того что если в яндексе будет market.yandex.ru например то он возвращает только yandex.ru, а для меня поддомены тоже важны.

Подскажите в какую сторону капать?





Спустя 4 минуты (31.03.2011 - 17:05) neadekvat написал(а):
Например
$arg = 'http://www.yandex.ru';
$arr = parse_url($arg);
$arr = explode('.', $arr['host']);

print_r($arr);

Спустя 5 минут, 20 секунд (31.03.2011 - 17:11) kuzroman написал(а):
нашел функцию parse_url() вроде должна подойти

Спустя 47 секунд (31.03.2011 - 17:12) kuzroman написал(а):
Да спасибо, то что нужно, я тоже самое нашёл))


_____________
kuzroman@list.ru
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.