Как вытащить домен из URL

log1n0v

Client
Регистрация
20.09.2013
Сообщения
64
Благодарностей
2
Баллы
8
Ситуация критическая! Может быть кто-то сталкивался и нашел выход..
Есть ссылки вида

1. sub.domain.ru
2. domain.ar.com
3. sub.domain.ar.com

Т.е. как видите URL может быть как с поддоменом, так и без, а также доменная зона может быть простая (.com, .ru и т.п.) а может быть составная (ar.com и прочие).

Как в таком случае выдергивать только домен+доменую зону (проще говоря определять наличие пододмена в URL и удалять его. если но есть) ??
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 340
Благодарностей
9 088
Баллы
113
можно не выдергивать домен, а как бы отсекать поддомен (до первой точки)..
по моему так легче будет написать регулярку..
 

log1n0v

Client
Регистрация
20.09.2013
Сообщения
64
Благодарностей
2
Баллы
8
А если будет случай, когда поддомена нет? Или случай под номером 2. domain.ar.com?
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 340
Благодарностей
9 088
Баллы
113
А если будет случай, когда поддомена нет? Или случай под номером 2. domain.ar.com?
да, тут затык выйдет..
в таком случае никак не получится сделать универсальный метод, если не иметь список всевозможных составных зон, типа ar.com, com.ru и т.д...
 

Lexicon

Client
Регистрация
27.12.2012
Сообщения
1 775
Благодарностей
901
Баллы
113
да сомнительно это как то... но имхо
sergodjan66 прав, проще дернуть список всех доменов второго уровня
 

KirillOFF

Client
Регистрация
18.12.2010
Сообщения
1 127
Благодарностей
517
Баллы
113
Можно смотреть на длину каждого уровня. Большинство доменов верхних уровней не длиннее трёх символов.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
Спарсите все TLD и используйте их в регулярке) Имхо
 

alekwuy

Client
Регистрация
06.04.2013
Сообщения
1 631
Благодарностей
461
Баллы
83

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 714
Баллы
113
в вашем примере поддомен
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)