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

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

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

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

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

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

Похожие вопросы
Алабуга Москва
До 370 000 ₽
Betnetix Ростов-на-Дону
от 80 000 до 250 000 ₽
Strikt Москва
от 100 000 до 180 000 ₽