За последние 24 часа нас посетили 18611 программистов и 1633 робота. Сейчас ищут 1064 программиста ...

Помогите с регулярным выражением

Тема в разделе "Регулярные выражения", создана пользователем VLK, 14 май 2014.

  1. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Не разбираюсь в регулярных выражениях, подскажите, возможно ли сделать такое, есть текст в тегах (тег всегда один и тот же - P, id присутствует во всех тегах, значение id всегда разное):
    Код (Text):
    1. <p id="my_tag">какой то текст</p>
    надо все это перевести в ассоциативный массив, где key будет id, а значение соответственно то что в теге, т.е.:
    Код (Text):
    1. // 'my_tag' => 'какой то текст'
    Интересует возможно ли сделать это одной функцией, без допустим explode (видел какие то примеры в интернете, там везде с explode ).
    Если это делается 2-мя или более функциями, то не надо, обойдусь разбором вручную, тегов всего пару.

    .
     
  2. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    Можно. Слелай сам. Простая очень задача. Решишь за пять минут и один цикл. Попробуй. Я уверен, ты справишься. У тебя уже достаточно знаний. Не комплексуй.
     
  3. VLK

    VLK Старожил

    С нами с:
    15 дек 2013
    Сообщения:
    3.010
    Симпатии:
    58
    Я думал есть еще какая то функция или можно как то настроить существующую (preg_match) что бы переводить что бы в ассоциативный массив все переводило, если нет, то в моем случае овчинка выделки не стоит, мне проще и без этого будет сделать.
     
  4. igordata

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

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
  5. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    раскроем карты
    Код (Text):
    1. preg_match_all('#id="(.+?)">(.+?)</p>#', $arr);
    2. print_r($arr);