PHP: strip_tags - remove apenas certas tags (e seus conteúdos)?

Eu uso ostrip_tags() função, mas eu precisoremover algumas tags (e todo o seu conteúdo).

por exemplo :

<div>
  <p class="test">
    Test A
  </p>
  <span>
    Test B
  </span>
  <div>
    Test C
  </div>
</div>

Digamos que eu precise me livrar das tags P e SPAN e manter apenas:

<div>
  <div>
    Test C
  </div>
</div>

strip_tags espera como um segundo parâmetro as tags que você deseja manter.

Neste exemplo em particular eu poderia usarstriptags($html, "<div>"); mas o html que eu estou raspando e as tags que precisam ser removidas são diferentes o tempo todo.

Eu procurei por horas para uma função que atenda às minhas necessidades, mas não encontrei nada de útil.

Alguma ideia?

questionAnswers(2)

yourAnswerToTheQuestion