Решение здесь действительно зависит от того, какой контент вы хотите развернуть. preg_match_all
- это функция сопоставления строк, которая использует регулярные выражения. Вы можете найти документацию для этого здесь , и вы можете протестировать регулярные выражения в браузерных приложениях, таких как RegExr Ваш скорректированный вызов preg_match_all
может выглядеть примерно так:
preg_match_all('@<div class="some-class">[^<]+</div>@', $result, $matches);
Однако, поскольку вы опускаете тег <div>
и, по-видимому, весь его контент, вы можете захотеть взглянуть на html-библиотеки разбора, такие как DOMDocument :
$dom = new DOMDocument(); $dom->loadHTML($result);
foreach ($dom->getElementsByTagName('div') as $div) {
$class = $item->getAttribute("class");
if (strpos($class, 'some-class') !== false) {
echo "<div>";
echo $div->nodeValue;
echo "</div>";
}
}
Если вы не хотите использовать DOMDocument (понятно, учитывая, что он больше предназначен для XML), попробуйте поискать библиотеки для композиторов. https://packagist.org/?query=html%20parser