Задать вопрос
@Formula_1

Как спарсить контент, который находится между двумя div'ами?

Здравствуйте, подскажите, пожалуйста, как при помощи парсера "Php simple html dom parser" можно спарсить контент, который расположен между двумя дивами?
Например есть такая верстка:

<div class="start">Текст</div> <!-- Начало парсинга с этого дива -->
<p>Первый контент</p>
<p>Второй контент</p>
<p>Третий контент</p>
<div class="end">Текст</div> <!-- и до этого дива -->

Подскажите как это можно сделать? Может через условия?
Заранее спасибо.
  • Вопрос задан
  • 338 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Stepik
    4в1—Парсинг, Асинхронность, Многопоточность, Многопроцессорность
    1 месяц
    Далее
  • Хекслет
    Фронтенд-разработчик
    10 месяцев
    Далее
  • Stepik
    FullStack Developer and Data Scientist (Python+JS+Data+CookBook)
    1 месяц
    Далее
Решения вопроса 1
@nirvimel
XPath решает:
//*[preceding-sibling::div[@class="start"] or self::div[@class="start"]][following-sibling::div[@class="end"] or self::div[@class="end"]]

Но если начальный/конечный div-ы захватывать необязательно, то задача сильно упрощается:
//*[preceding-sibling::div[@class="start"] and following-sibling::div[@class="end"]]
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
Denormalization
@Denormalization
preg_match("/<div class="start">.*</div>(.*)<div class="end">.*</div>/Ui", ...)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы