Как получить основной домен сайта по субдомену?

Тема в разделе "PHP", создана пользователем dandandan, 18 апр 2013.

Статус темы:
Закрыта.
Модераторы: latteo
  1. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    На вход подается адрес домена 2-го, 3-го, 4-го и т.д. уровней. Нужно получить основной домен, зарегистрированный у хостера. Все бы было ничего, если бы все регистрируемые домены были 2-го уровня, но, например, у зоны "co.uk" - регистрируемые домены будут 3-го уровня.
    Можно ли как-то с помощью php выцепить основной домен?

    p.s. Вообще задача - по произвольному доменному имени получить дату регистрации и дату окончания регистрации.
    p.s.s. Меня не интересует регулярка, все равно универсальную не напишете. Меня интересует может есть в php функция получения основного домена.

    Основного домена. Например сайт.ру. А на вход подан адрес бла.бла.сайт.ру

    Или другими словами дату регистрации от того уровня, который выдает регистратор доменов.

    Есть подозрение, что надо как-то копать в сторону dns_get_record().

    latteo: хорошая и полезная тема - переместил в основную категорию.
     
  2. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.723
    Симпатии:
    2.098
    тоесть даже такой пример не работает?
    http://snipplr.com/view/12737/

    http://php.net/manual/en/function.parse-url.php смотрели?

    ну а потом уже всё остальное
     
  3. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Давайте определимся.
    drive.google.com - основной домен google.com
    www.drive.google.com - основной домен google.com
    drive.co.cc - основной домен drive.co.cc
    www.drive.co.cc - основной домен drive.co.cc
    mail.google.co.uk - основной домен google.co.uk

    В вашем варианте будет выдаваться просто доменное имя с удаленным www. .

    Мне нужено получить именно произвольное регистрируемое доменное имя у регистратора, а не субдомен.
     
    Шумадан нравится это.
  4. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.723
    Симпатии:
    2.098
    не сразу понял, что-то такое?
    https://github.com/usrflo/registered-domain-libs/tree/master/PHP
    но по сути можно ж получить список доменных зон
    http://www.iana.org/domains/root/files
    и оттуда плясать дальше
     
    latteo нравится это.
  5. dandandan

    dandandan

    Регистр.:
    7 авг 2008
    Сообщения:
    975
    Симпатии:
    255
    Как я понял из беглового взгляда первый вариант описыват все доменные имена в файле effectiveTLDs.inc.php . Тогда второй вариант аналогичен первому.
    Универсальность пропадает при появлении нового доменного имени, не указанного в базе доменных имен. Именно поэтому ищу другой вариант/подход решения проблемы.
     
  6. Шумадан

    Шумадан Хабарра!!11

    Регистр.:
    6 фев 2008
    Сообщения:
    1.723
    Симпатии:
    2.098
    его можно получать по линку, который в квоте, что собственно будет самым свежим (можете периодически его загружать и хранить в базе для быстрого поиска). у вас есть доменная зона, которую вы можете отсечь, далее ищете до первой точки (mail.google в случае mail.google.co.uk)? либо отсуствия её (в случае скажем google.com.ua) справа и получаете имя + зона, дальше используете процедуру получения информации про регистрацию.

    есть ещё такое там
    https://github.com/usrflo/registered-domain-libs/blob/master/generateEffectiveTLDs.php, тоесть effectiveTLDs.inc.php можно перегенерировать на кроне каждый час, скажем. и включать его как инклуд в код определения регистрации.
     
Статус темы:
Закрыта.