Remplacer des caractères en entités HTML en java

Je veux remplacer certains caractères avec leurs entités HTML dans une réponse HTML à l'intérieur d'un filtre. Les personnages comprennent <, >, &. Je ne peux pas utiliser replaceAll() comme il remplacera tous les personnages, même ceux qui font partie de balises HTML.

Quelle est la meilleure approche pour le faire?

Si une chaîne unique a été créé, qui contient un mélange de balises HTML et autonome des caractères tels que <, alors il est probablement trop tard. Pouvez-vous ne pas de codage HTML, la chaîne avant d'être inclus à l'intérieur des balises?
Mon application les frontières ne m'autorise pas à le faire plus tôt 🙁
Mais il suffit de penser - si c'était possible pour ce faire de manière fiable avec entièrement formé de chaînes, vous ne seriez pas le pour l'encodage des navigateurs web serait de l'utiliser quelle que soit la technique magique est de distinguer les balises de texte général.
C'est ce que je dois faire. pour l'instant ce que je fais est de traverser le HTML, caractère par caractère et par la recherche de '<' et '>'. Considérant que la balise (en ignorant les attributs), je suis le vérifier en pré-définis liste des tags. Si le match n'a pas trouvé je suis le codage à la fois '<' et '>'. Je n'ai pas le temps, il est une bonne approche...

OriginalL'auteur user1448652 | 2012-06-11