За последние 24 часа нас посетили 17334 программиста и 1650 роботов. Сейчас ищут 957 программистов ...

Регулярное выражение

Тема в разделе "PHP для новичков", создана пользователем UFO_, 29 фев 2012.

  1. UFO_

    UFO_ Активный пользователь

    С нами с:
    29 фев 2012
    Сообщения:
    17
    Симпатии:
    0
    Есть массив с доменами (jj.kl.domain.ru lost.domain2.ru mj.main.ru.domain3.ru)
    Подскажите как выделить только сам домен, без поддоменов т.к. domain.ru domain2.ru domain3.ru
     
  2. sobachnik

    sobachnik Старожил

    С нами с:
    20 апр 2007
    Сообщения:
    3.380
    Симпатии:
    13
    Адрес:
    Дмитров, МО
    Если исходные данные действительно именно такие, как ты описал, то можешь воспользоваться explode()-implode():

    Код (PHP):
    1. <?php
    2. $domains = array(
    3.     'jj.kl.domain.ru',
    4.     'lost.domain2.ru',
    5.     'mj.main.ru.domain3.ru'
    6. );
    7. $newDomains = array();
    8. foreach($domains as $domain) {
    9.     $domain = explode('.', $domain);
    10.     $newDomains[] = implode('.', array_slice($domain, count($domain) - 2));
    11. }
    12. print_r($newDomains);
    13. ?>
     
  3. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
  4. Ganzal

    Ganzal Суперстар
    Команда форума Модератор

    С нами с:
    15 мар 2007
    Сообщения:
    9.893
    Симпатии:
    965
    Крыс, вы задачу человека поняли? ее можно решить регулярками, массивами или сабстрингами. разбор адреса вообще не нужен. работают только с доменами (хостами) и нужно получить запись SLD.TLD
     
  5. Крыс

    Крыс Активный пользователь

    С нами с:
    3 фев 2012
    Сообщения:
    449
    Симпатии:
    0
    а, да, пардон, это я туплю, не та задача :)
     
  6. UFO_

    UFO_ Активный пользователь

    С нами с:
    29 фев 2012
    Сообщения:
    17
    Симпатии:
    0
    Спасибо!