Soyez le premier à donner votre avis sur cette source.
Snippet vu 5 019 fois - Téléchargée 27 fois
import java.util.ArrayList; public class Source { // Balisaes autorisées public static String[] Balises = {"h2", "em", "strong", "q", "blockquote", "cite","code", "ul", "li", "p"}; // Conteneur de la source sauvée private StringBuffer SourceSauve = new StringBuffer(65000); // Conteneur de la source courante private StringBuffer SourceCourante = new StringBuffer(65000); // Tableau des balises ouvertes private ArrayList OBal = new ArrayList(); // Tableau des balises fermées private ArrayList FBal = new ArrayList(); // Constructeur public Source() { } // METHODES DE RECUPERATION // Récupération de la source public String RecupSource() { return SourceCourante.toString(); } // Récupération du nombre de balises ouvertes public int RecupNOBal() { return OBal.size()-FBal.size(); } // Récupération de la source convertie en xhtml public String RecupXHtml() { StringBuffer SB = new StringBuffer(SourceCourante.toString()); int Nb=0; while(Nb<SB.length()) { if(SB.charAt(Nb)=='[') { SB.setCharAt(Nb,'<'); } if(SB.charAt(Nb)==']') { SB.setCharAt(Nb,'>'); } Nb++; } return SB.toString(); } // METHODES DE SAUVEGARDE // Methode de sauvegarde de la source public boolean Sauver() { if(Verifier(SourceCourante)) { SourceSauve.replace(0, SourceCourante.length(), SourceCourante.toString()); return true; } else return false; } // Méthode de restauration de la source sauvegardée public void Restaurer() { SourceCourante.replace(0, SourceCourante.length(), SourceSauve.toString()); } // METHODES D'EDITION public boolean DefSource(String S) { SourceCourante.replace(0, SourceCourante.length(), S); if(S!="") { if(Verifier(SourceCourante)) { return true; } else { return false; } } else return true; } public void Ajouter(String S) { SourceCourante.append(S); } public void AjouterBalise(String B, boolean O) { if(O) { OBal.add(OBal.size(), B); Ajouter("[" + B + "]"); } else { FBal.add(FBal.size(), B); Ajouter("+ B + ""); } } // METHODES PRIVEES boolean EstBalise(String S) { int i=0; for(i=0; i<Balises.length; i++) { if(Balises[i].equals(S)) { return true; } } return false; } void RecupBalise(int pos, boolean O, StringBuffer S) { String var=""; if(O) { while((pos<S.length())&&(S.charAt(pos)!=']')) { var+=S.charAt(pos); pos++; } if(EstBalise(var)) { OBal.add(OBal.size(), var); } } else { while((pos<S.length())&&(S.charAt(pos)!=']')) { var+=S.charAt(pos); pos++; } if(EstBalise(var)) { FBal.add(FBal.size(), var); } } } // Verification du code source private boolean Verifier(StringBuffer S) { OBal.clear(); FBal.clear(); int Nb=0; while(Nb<S.length()) { if(S.charAt(Nb)=='[') { if(S.charAt(Nb+1)=='/') { RecupBalise(Nb+2,false,S); } else { RecupBalise(Nb+1,true,S); } } Nb++; } if(OBal.size()==FBal.size()) { int i; for(i=0; i<OBal.size(); i++) { if(!OBal.get(i).equals(FBal.get(i))) { return false; } } return true; } else { return false; } } // Débuggage du code source private boolean Debug(String S) { return false; } }
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.