За последние 24 часа нас посетили 36442 программиста и 7886 роботов. Сейчас ищут 1953 программиста ...

помогите составить regexp?

Тема в разделе "PHP для новичков", создана пользователем LightParticle4D, 10 янв 2023.

  1. LightParticle4D

    LightParticle4D Новичок

    С нами с:
    31 дек 2022
    Сообщения:
    21
    Симпатии:
    0
    есть html-код вида

    <div>dsadsad</div>
    <div>gfdgdgdfgdfgfdgfdg</div>

    нужно вытащить код от первого DIV до последнего </DIV>.

    Поскольку тут есть совпадение по </div> не могу понять каким образом можно составить регулярное выражение, которое бы выхватывало бы всё не до первого </div>, а все 2 строчи.
     
  2. kedrach

    kedrach Новичок

    С нами с:
    21 сен 2022
    Сообщения:
    14
    Симпатии:
    0
    Я бы сделал так:
    Код (Text):
    1. <div>[A-z\0-9]+
    Затем <div> с помощью реплейса убрал.
    --- Добавлено ---
    На выходе получается
    Код (Text):
    1. <div>dsaSdds23ad
    2. <div>gfdgdgdfgdfgfdgf2dg
     
  3. don.bidon

    don.bidon Активный пользователь

    С нами с:
    28 мар 2021
    Сообщения:
    947
    Симпатии:
    147
    @kedrach, и откуда потом возьмёшь последний закрывающий тег дива?
     
  4. LightParticle4D

    LightParticle4D Новичок

    С нами с:
    31 дек 2022
    Сообщения:
    21
    Симпатии:
    0
    да, конечно. в этом весь смысл, что после последнего </div> есть еще текст
     
  5. Sail

    Sail Старожил

    С нами с:
    1 ноя 2016
    Сообщения:
    1.593
    Симпатии:
    362
    Обычно регулярки - жадные, если их не ограничить.
    Код (Text):
    1. /<div>(?:.|\s)+<\/div>/gm
    Пример в песочнице
     
    kedrach нравится это.
  6. LightParticle4D

    LightParticle4D Новичок

    С нами с:
    31 дек 2022
    Сообщения:
    21
    Симпатии:
    0