@igorc75

Как из кода html вырезать DIV'ы с определенным классом?

Вот есть код, из него нужно удалить 3 DiV с классом remove_div и оставить только содержимое.
Сами DIV'ы вложенные.

<div class="remove_div" id="first" style="">
    <div class="remove_div bg-info">
        <div class="remove_div" style="">
            /* тут вложения всякие из HTML кода и прочее которое нужно оставить */
        </div>
    </div>
</div>


Пробую через preg_match_all
preg_match_all('/<div[^>]+class=".*remove_div.*"[^>]*>(.*)/', $result, $arr);


Но результат не тот что ожидается.
  • Вопрос задан
  • 524 просмотра
Пригласить эксперта
Ответы на вопрос 1
udjin123
@udjin123
PHP, Golang, React
Работать с html структурой через регулярные выражение не лучшая идея.
Это структурированный документ, работайте с ним как с XML

$string = '<div class="remove_div" id="first" style="">
    <div class="remove_div bg-info">
        <div class="remove_div" style="">
            /* тут вложения всякие из HTML кода и прочее которое нужно оставить */
        </div>
    </div>
</div>';

$string = preg_replace('/<div[^>]+class=".*remove_div.*"[^>]*>(.*)/', '', $string);

print_r($string);


Результат
/* тут вложения всякие из HTML кода и прочее которое нужно оставить */
Ответ написан
Ваш ответ на вопрос

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

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