Помощник
Здравствуйте, гость ( Вход | Регистрация )
Как выделить домен из сложных ссылок?, ищу решение |
Гость_wizard993_* |
2012-04-13, 14:36
Сообщение
#1
|
|
Гости |
Вот собственно есть несколько ссылок:
http://example.com/ http://example.com.ua/ http://subdomian.example.com/ http://subdomain.example/ http://subdomain.example.com.ua/ ну и т.д. Вопрос в следующем: можно ли создать УНИВЕРСАЛЬНОЕ решение, позволяющие вытягивать чистый домен (без примесей типа .ru и .com.ua) из ссылок? При этом следует учесть, что домен может быть и верхнего уровня (http://subdomain.example/) и третьего (http://subdomain.example.com.ua). А нам нужно получить именно этот самый "example". Который тоже может быть любым. Соответсвенно всякие HTTP_HOST'ы и parse_url'ы нам не подходят. Пока что мысли сводятся к перебору всех существующих доменов верхнего уровня, а затем если такого не существует - делаем вывод, что наш домен - верхний. Но это решение не нравится - не больно то хочется проверять все существующие зоны. |
|
|
||
Alexander |
2012-04-13, 16:33
Сообщение
#2
|
|
Eleanor developer Группа: Администраторы Сообщений: 5 261 Регистрация: 2008-11-11 Из: Николаев Версия системы: RC5 Репутация: нет Всего: 67 |
Окей. Раз не хотите перебирать все существующие зоны, объясни каким образом должен работать скрипт, если ему скормят домен:
http://zzzzz.xxxx.aa.qq Как определить что зона именно .aa.qq, а не .qq ? |
|
|
||
Гость_wizard993_* |
2012-04-13, 17:46
Сообщение
#3
|
|
Гости |
Alexander, ну я такого ответа и боялся думал - вдруг кто сталкивался с подобной проблемой. спасибо, будем думать
|
|
|
||
alexben73 |
2012-06-16, 16:10
Сообщение
#4
|
|
Новичок Группа: Eleanor user Сообщений: 27 Регистрация: 2010-02-12 Репутация: нет Всего: нет |
я бы попробовал решить задачу следующим образом:
Первым делом разбил задачу на шаги. шаг первый: очистка урла и начальная конфигурация. (очистка от протокола http(s), префикса www и фрагментов типа: "/test/index.php ) шаг второй: сортировка доменов. Определяем к какому виду наш очищенный домен относится. шаг третий: если домен второго уровня (example.com) - вырезаем регуляркой все, что находится перед точкой. Сохраняем переменую - выводим. шаг четвертый: если домен 3,4,5,10 и выше уровня (example.ua.com) можно прибегнуть к reverse IP с помощью сторонних сервисов типа 2ip или http://www.yougetsignal.com/tools/w...on-web-server/. С помощью reverse IP сможем определить где субдомен а где зона. Зная субдомен нашего урла, нам уже не надо знать доменую зону. Логично? Вполне. Если сказать на примере то примерно так: отправляем на анализ урл вида: forum.eleanor-cms.ru получаем: 1. test.eleanor-cms.ru 2. eleanor-cms.ru 3. forum.eleanor-cms.ru Логично предположить, из 3 результатов меньший по символам (либо точкам разделяющим наш урл- это будет правильно) является основным доменом. Сообщение отредактировал alexben73 - 2012-06-16, 16:12 |
|
|
||
termit |
2012-06-16, 16:30
Сообщение
#5
|
|
Опытный Группа: Бета-тестеры Сообщений: 705 Регистрация: 2009-06-02 Из: Житомир Репутация: нет Всего: 11 |
А если хостинг виртуальный? Тогда на одном IP сидит куча сайтов...
Например мой zdu.org.ua выдаёт 38 результатов, причём левых... |
|
|
||
alexben73 |
2012-06-16, 16:32
Сообщение
#6
|
|
Новичок Группа: Eleanor user Сообщений: 27 Регистрация: 2010-02-12 Репутация: нет Всего: нет |
alexben73,
тоже не вижу проблемы, достаточно отфильтровать результат. Тем более результаты с http://www.yougetsignal.com/tools/ можно дернуть в формате JSON... прям как подарок новогодний для ТС) Сообщение отредактировал alexben73 - 2012-06-16, 16:47 |
|
|
||
Текстовая версия | 0.0374 сек. 12 запросов GZIP включен Сейчас: 2024-04-19, 5:02 |