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

Как в данном варианте получить четвертый параграф?

Вот пример:
<p class="p-1"></p><p class="p-2"></p>
<div class="wrap"><p class="p-3"></p></div><p class="p-4"></p><p class="p-5"></p> и т.д.

Как в данном варианте можно получить только 4 параграф?
Использовал такое регулярное выражение, но он выбирает все после дива: (?<=<\/\w>).+<\/?p[^>]*\>(.*?)<\/p>
Дело в том, что верстка и расположение классов могут отличаться, но всегда нужно получать 4 параграф.
  • Вопрос задан
  • 158 просмотров
Подписаться 1 Средний 10 комментариев
Решения вопроса 1
nokimaro
@nokimaro
Меня невозможно остановить, если я смогу начать.
<?php
$html = <<<HTML
<p class="p-1">p1</p><p class="p-2">p2</p>
<div class="wrap"><p class="p-3">p3</p></div><p class="p-4">p4</p><p class="p-5">p5</p>
HTML;

preg_match_all('!<p[^>]{0,}>(.*?)</p>!si', $html, $out);

var_dump($out[0][3]);


если нужно внутреннее содержимое 4 параграфа то соотв-но достаём его из $out[1][3]
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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