В этой заметке покажу вам PHP код с использованием регулярных выражений для удаления блока вместе с его содержимым.
$content = preg_replace('/<li class="js-oglav-after js-oglav-psy".*?<\/li>/is', '', $content); // Удаляем li с конкретными классами
$content = preg_replace('/<li class="js-oglav-after.*?<\/li>/is', '', $content); // Удаляем li с тегом class который начинается на js-oglav-after
$content = preg_replace('/<div style="padding: 30px 0 0 0".*?<\/div>/is', '', $content); // Удаляем div со строгим набором стилей
$content = preg_replace('/<script.*?<\/script>/is', '', $content); // Удаляем все скрипты
Этот код выполняет следующие действия:
preg_replace('/<li class="js-oglav-after js-oglav-psy".*?<\/li>/is', '', $content);
— Удаляет все блоки<li>
с классом"js-oglav-after js-oglav-psy"
вместе со всем их содержимым из переменной$content
.preg_replace('/<div style="padding: 30px 0 0 0".*?<\/div>/is', '', $content);
— Удаляет все блоки<div>
с инлайн стилемpadding: 30px 0 0 0
вместе со всем их содержимым из переменной$content
.preg_replace('/<script.*?<\/script>/is', '', $content);
— Удаляет все блоки<script>
вместе со всем их содержимым из переменной$content
.
Здесь мы используем функцию preg_replace()
для замены совпадений с регулярными выражениями на пустую строку, тем самым удаляя соответствующие блоки из текста. Вы можете добавить контент в пустую строку чтобы не вырезать блок а заменять в контенте.
Помните, регулярные выражения не всегда являются наилучшим инструментом для обработки HTML кода.