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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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");
?>