42 votes

Convertir le caractère HTML en texte à l'aide de la bibliothèque standard Java

Je voudrais reconvertir certains caractères HTML en texte à l'aide de la bibliothèque standard Java. Je me demandais si une bibliothèque atteindrait mon but?

 /**
 * @param args the command line arguments
 */
public static void main(String[] args) {
    // TODO code application logic here

    // "Happy & Sad" in HTML form.
    String s = "Happy & Sad";
    System.out.println(s);

    try {
        // Change to "Happy & Sad". DOESN'T WORK!
        s = java.net.URLDecoder.decode(s, "UTF-8");
        System.out.println(s);
    } catch (UnsupportedEncodingException ex) {

    }
}
 

60voto

Bill.D Points 126

Je pense que les méthodes StringEscapeUtils.escapeHtml () et unescapeHtml () de la bibliothèque Jakarta Commons Lang sont ce que vous recherchez. Voir http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringEscapeUtils.html .

28voto

jem Points 41

Ici, vous devez simplement ajouter un fichier jar dans lib jsoup dans votre application, puis utiliser ce code.

 import org.jsoup.Jsoup;

public class Encoder {
    public static void main(String args[]) {
        String s = Jsoup.parse("<Français>").text();
        System.out.print(s);
    }
}
 

Lien pour télécharger jsoup: http://jsoup.org/download

7voto

Zach Scrivena Points 15052

java.net.URLDecoder ne traite que de l' application/x-www-form-urlencoded format MIME (par exemple, "%20" représente l'espace), et non pas avec des entités HTML. Je ne pense pas qu'il existe quelque chose sur la plate-forme Java pour que. Vous pouvez écrire votre propre classe utilitaire pour faire la conversion, à l'instar de ce un.

5voto

Rich Points 176

L'URL décodeur doit uniquement être utilisé pour le décodage des chaînes à partir de l'url générée par les formulaires html qui sont dans la "application/x-www-form-urlencoded" mime type. Cela ne prend pas en charge les caractères html.

Après une recherche j'ai trouvé un Traduire classe au sein de l' Analyseur HTML à la bibliothèque.

2voto

rogeriopvl Points 9619

Je ne suis pas au courant de toute façon de le faire à l'aide de la bibliothèque standard. Mais ce que je sais et de l'utilisation de cette classe qui traite avec des entités html.

"HTMLEntities est un Open Source Java de la classe qui contient une collection de méthodes statiques (htmlentities, unhtmlentities, ...) afin de convertir les caractères spéciaux et étendus en HTML entitities et vice versa."

http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=htmlentities

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X