Bonjour,
Voila, j'ai un fichier de ce type:
Fichier.txt
<toponyme class="toponyme">
<nom>MONT AAST</nom>
</toponyme>
Et je m'escrimes depuis un moment afin de créer une fonction dont le prototype serait:
void Parseur ( balise: chaine de caractères, path : chaine de caractères);
Ou balise est le nom d'une balise ( exemple : nom) et path le chemin d'un fichier à parser.
En exécutant la fonction en utilisant les paramètres suivants:
Parseur ( "nom", "Fichier.txt");
Elle afficherait toutes informations comprises entre <nom> et </nom>.
Si vous avez l'idée heureuse, ce n'est pas de refus.
J'ai peur d'être passé à côté d'un algorithme bateau.
Merci d'avance.
PS:
Pour informations j'utilise le PHP.
PS:
J'ai ça pour l'instant mais ça me paraît léger:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36
| <?
function Parseur( $nom_balise, $Path){
$fp = fopen( $Path, "r") or die("Fichier introuvable. L'analyse a été suspendue");
$cpt_car = 0;
$balise_debut = "<".$nom_balise.">";
$balise_fin = "</".$nom_balise.">";
$lg_balise = strlen( $balise_debut);
while (!feof ($fp))
{
$cpt++;
$fdata = fgets ($fp);
$place_debut = strpos( $fdata, $balise_debut);
if ( $place_debut !== false)
{
//echo "ligne ".$cpt." et caractère ".$place_debut."<br>";
$place_fin = strpos( $fdata, $balise_fin);
if ( $place_fin !== false)
{
$start = $place_debut + $lg_balise;
$length = $place_fin - $start;
echo $cpt." >><br> ".substr ( $fdata, $start , $length)."<br>";
}
}
}
}
Parseur( "nom", "Parseur/Liste_TOPO.txt");
?> |
Partager