Encoder en entités HTML, mais ignorer les balises HTML en PHP

J'ai une chaîne qui pourrait ressembler à ceci

$str = "<p>Me & Mrs Jones <br /> live in <strong style="color:#FFF;">España</strong></p>";
htmlentities($str,ENT_COMPAT,'UTF-8',false);

Comment puis-je convertir le texte en entités HTML sans avoir à convertir les balises HTML?

remarque: j'ai besoin de garder le code HTML intacte

OriginalL'auteur ed209 | 2009-12-22