Parseur string/html html/string

Description

Bonsoir,

Voilà ma première source sur le site...

Cette classe permet de parser une string et de retourner son équivalent mais en remplaçant les caractères spéciaux par les codes HTML
et de faire l'inverse. Je suis conscient que se n'est peut-être pas la bonne façon de faire.

Utilité:

J'ai fais cette classe car quand j'utilise un jEditorPane avec setContentType("text/html"). Il ne m'affiche pas le texte entièrement s'il contient des caractères spéciaux.

Source / Exemple :


/*

  • ParserHTML.java
  • Created on 4 janvier 2007, 20:09
  • /
import java.util.*; public class ParserHTML { private static HashMap<String, String> parser; private static boolean initialise = false; private static String rdu=""; private static void ParserHTML(){ // initialisation des vecteurs... parser = new HashMap<String, String>(); parser.put("á","á"); parser.put("â","â"); parser.put("æ","æ"); parser.put("à","à"); parser.put("å","å"); parser.put("ã","ã"); parser.put("ä","ä"); parser.put("ç","ç"); parser.put("é","é"); parser.put("ê","ê"); parser.put("è","è"); parser.put("ë","ë"); parser.put("ÿ","ÿ"); parser.put("\"","""); parser.put("<","<"); parser.put(">",">"); parser.put("í","í"); parser.put("î","î"); parser.put("ì","ì"); parser.put("ï","ï"); parser.put("ñ","ñ"); parser.put("ó","ó"); parser.put("ô","ô"); parser.put("ò","ò"); parser.put("ø","ø"); parser.put("õ","õ"); parser.put("ö","ö"); parser.put("ß","ß"); parser.put("þ","þ"); parser.put("ú","ú"); parser.put("û","û"); parser.put("ù","ù"); parser.put("ü","ü"); parser.put("ý","ý"); parser.put("?","?"); parser.put("¥","¥"); parser.put("?","?"); parser.put("¢","¢"); parser.put("°","°"); parser.put("²","²"); parser.put("³","³"); parser.put("÷","÷"); parser.put("\n","<br />"); } /**
  • Permet de convertir une string en codant les caractere spéciaux en HTML
  • @param src : String source.
  • @return rdu : String converti.
  • /
public static String stringToHtml(String src){ // Si non initialiser if(!initialise){ // j'initialise les vecteurs ParserHTML(); initialise = true; } // Oncommence par le "&" sinon on se retrouve avec des "&ampaacute;" a la place de "á" rdu = src.replace("&", "&amp"); src = rdu; // je boucle sur la taiile d'un des vecteurs. for(Map.Entry<String,String> entry : parser.entrySet()){ // je remplace le caractere par son code HTML. rdu = src.replace(entry.getKey(),entry.getValue()); // Le rendu devient la source. src = rdu; } return rdu; } /**
  • Permet de convertir une string code HTML en String.
  • @param src : HTML source.
  • @return rdu : String converti.
  • /
public static String htmlToString(String src){ // Si non initialiser if(!initialise){ // j'initialise les vecteurs ParserHTML(); initialise = true; } rdu = src.replace("&amp", "&"); src = rdu; // je boucle sur la taiile d'un des vecteurs. for(Map.Entry<String,String> entry : parser.entrySet()){ // je remplace le caractere par son code HTML. rdu = src.replace(entry.getValue(), entry.getKey()); // Le rendu devient la source. src = rdu; } return rdu; } // Le main de test public static void main(String [] args){ System.out.println("---test ParserHTML.htmlToString---"); String src = "á,â,æ,à,å,ã,ä,ç,é,ê,è,ë,í,î,ì,ï,ñ,ó,ô,ò,ø,õ,ö,ß,þ,ú,û,ù,ü,ý,ÿ,&,<,>,?,?,¢,¥,°,²,³,÷"; System.out.println(src); System.out.println("---test ParserHTML.stringToHtml---"); String test = ParserHTML.stringToHtml(src); System.out.println(test); System.out.println("---test ParserHTML.htmlToString---"); String test2 = ParserHTML.htmlToString(test); System.out.println(test2+"\n"); System.out.println(src.equals(test2)); System.out.println("-------------------------------------------------------------------------------------------"); } }

Codes Sources

A voir également

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.