Я использую функцию strip_tags()
, но мне нужно удалить некоторые теги (и все их содержимое).
Например :
<div>
<p class="test">
Test A
</p>
<span>
Test B
</span>
<div>
Test C
</div>
</div>
Скажем, мне нужно избавиться от тегов P и SPAN и оставить только:
<div>
<div>
Test C
</div>
</div>
strip_tags
ожидает в качестве второго параметра теги, которые вы хотите СОХРАНИТЬ.
В этом конкретном примере я мог бы использовать striptags($html, "<div>");
, но html, который я очищаю, и теги, которые нужно удалить, все время разные.
Я часами искал функцию, которая соответствовала бы моим потребностям, но не нашел ничего полезного.
Любые идеи?
'#<(' . implode( '|', $tags) . ')[^>]+>.*?</\1>#s'
. 26.06.2012