[JAVA] suppression des balises HTML

Fermé
Nicocotiers - 18 juin 2004 à 10:35
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 - 10 janv. 2007 à 11:03
bonjour, je mets à votre disposition un code java pour supprimer toutes les balises html d'1 fichier passé en parametres pour sauvegarder les données dans un fichier .txt

public void supprimerBalises(String adresse){ // nettoyer le fichier html de toutes ses balises afin de trouver facilement les données

String adresse2="C:\\monfichier.txt";

int flot=0;

try{
FileReader flotLecture = new FileReader(adresse);
FileWriter fw = new FileWriter(adresse2,true);
BufferedWriter output = new BufferedWriter(fw);



flot=flotLecture.read(); //on lit le flot. si flot =-1 fin du fichier
char car=(char)flot;
char lu=(char)flot;

while(flot!=-1){ // TQ pas fin du fichier

if(car=='<') //pour reperer le début balises
{
while(lu!='>'){ //TQ pas à la fin de la balise
flot = flotLecture.read();
lu=(char)flot;
}
flot = flotLecture.read(); //on lit le carcater suivant car ici on était toujours sur le caractère "<"
lu=(char)flot;
car=lu;

}
else{ // si on n'est pas dans une balise

lu=(char)flot;
output.write(lu); //on écrit dans le buffer
flot=flotLecture.read(); //on lit le caracter suivant puis on reboucle si on n'est pas en fin de fichier
car=(char)flot;
}

}// while(flot!=-1)

output.flush(); //on envoie le buffer dans le fichier de destination ici:"C:\\monfichier.txt"
output.close(); //on ferme le buffer et le filereader flotlecture
flotLecture.close();
}catch (IOException e) {
System.out.println(" erreur :" + e.toString());
}

}// supprimerBalises
A voir également:

3 réponses

Merci,
Il est bien ton code ;-)) Mais pour nettoyer un fichier html, faut aussi supprimer ceux qui sont dans les balises head, et script.
Et puis quand on a <br> faudrait le remplacer par \n par exemple.
N'empêche, ton code donne de bonnes idées.
;-)))
0
ce a5cools j'ai vraiment un probleme de referencement d'une image sur de moteur de recherche tels que google , etc....
que ce lui qui sait bien pour m'aider qu'il m'ecrive sur : a5cools@yahoo.fr
0
Reivax962 Messages postés 3671 Date d'inscription jeudi 16 juin 2005 Statut Membre Dernière intervention 11 février 2021 1 011
10 janv. 2007 à 11:03
Bonjour,

C'est bourrin, quand même, comme façon de faire !
Imagine que dans ta page, tu aies des maths... Je sais bien que les signes < et > sont, alors, censés être écrits & lt; et & gt; (j'ai mis des espaces pour que ce e soit pas interprété), mais ce n'est pas toujours, voire pas souvent le cas !
Donc, si la page contient, par exemple,
<div>Ce qui nous donne l'inéquation <span class="formule">x < 3y+1</span></div>
, ta méthode donnera
Ce qui nous donne l'inéquation x 
au lieu de
Ce qui nous donne l'inéquation x < 3y+1
Je pense que la meilleure solution à ce problème serait plutôt de rechercher les balises existantes, elles ne sont pas si courantes que ça... Mais forcément, du coup, ça marche moins bien sur les fichiers XML.

Xavier
0