2010-02-25 7 views
1

J'ai besoin d'encoder une chaîne Java pour qu'elle s'affiche correctement dans le cadre d'un document HTML, par ex. toutes les nouvelles lignes ou caractères de tabulation. J'ai par exemple Je veux obtenir quelque chose comme "one<br>two". Connaissez-vous une bibliothèque qui le ferait pour moi?Codage des chaînes en HTML en Java

Répondre

3

essayez d'utiliser tag preformat <pre>

+0

votre réponse n'est pas liée à la question car elle ne convertit pas les sauts de ligne en br. La balise pre est utilisée normalement pour afficher le code car elle préserve les espaces et les sauts de ligne. – Adeel

+0

Ce n'est pas exactement ce que j'ai demandé, mais fait le travail assez bien! – Grzenio

1

Vous n'avez pas besoin d'une bibliothèque pour les cas simples. Une simple boucle sur string.replaceAll() devrait faire l'affaire.

Si vous cherchez plus de conversions de fantaisie (comme ici sur SO ou dans un wiki), vous pouvez consulter le Java Wikipedia API. Exemple de code here. Bien que je suppose que c'est peut-être un peu exagéré pour vos besoins.

1

méthode Spring Framework HtmlUtils.htmlEscape(String) devrait faire l'affaire:

Tourner caractères spéciaux dans les références de caractères HTML . Poignées complètes jeu de caractères défini dans HTML 4.01 recommandation.

+0

-1 Ceci convertit juste les caractères avec un point de code> 128, pas des caractères non imprimables. –

+0

C'est vrai, mais en réalité, il est assez improbable qu'une chaîne contienne des caractères non imprimables. – Adamski