@Formula_1

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

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

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

Подскажите как это можно сделать? Может через условия?
Заранее спасибо.
  • Вопрос задан
  • 259 просмотров
Решения вопроса 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", ...)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы