Парсинг повторяющися тегов через регулярки на PHP
Пусть у нас есть не один тег, а несколько. К примеру, несколько абзацев:
<p>
text1
</p>
<p>
text2
</p>
<p class="block">
text3
</p>
Давайте напишем код, который получит массив текстов всех абзацев:
<?php
preg_match_all('#<p[^>]*>(.+?)</p>#su', $str, $matches, PREG_PATTERN_ORDER);
?>
Проверим, что мы нашли тексты наших абзацев:
<?php
var_dump($matches[1]); // ['text1', 'text2', 'text3']
?>
Получите массив содержимых всех h2
:
<h2>111</h2>
<p>
---
</p>
<h2>222</h2>
<p>
---
</p>
<h2 class="last">333</h2>
<p>
---
</p>