Détecter plusieurs fois le même mot
le 10/03/2007 à 14:29
Bonjour,
Voilà j'essaye de faire un parser pour ensuite créer un fichier xml.
Tout ce qui est création du fichier xml etc pour le moment ca devrait aller, en fait je cherche plus précisément à détecter plusieurs fois le même mot SI plusieurs fois il y'a.
Voici ce que j'utilise :
Voici les noms : <?php
$url_handle = fopen ( "blu.xml" , "rb" ) ; $url_contents = '' ; while ( ! feof ( $url_handle ) ) $url_contents .= fread ( $url_handle , 8192 ) ; fclose ( $url_handle ) ; $url_contents = str_replace ( "\r\n" , '' , $url_contents ) ; $motif_fr = '`<nom>(.+?)</nom>`' ; preg_match ( $motif_fr , $url_contents , $result_fr ) ; $nom = str_replace ( array ( '<nom>' , '</nom>' ) , array ( '' , '' ) , $result_fr [ 0 ] ) ; echo '<li>' . $nom . '</li>' ; ?>
Et voici un bout de ma page :
<nom>Systeme Unix</nom>
....
<nom>Anglais</nom>
Le problème étant que si j'utilise cette méthode je n'obtiens que le premier (Systeme Unix) pas le reste (Anglais).
J'aimerais savoir comment faire pour qu'il parse toute la page !
Merci d'avance
@+
le 10/03/2007 à 16:03
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Pourquoi ne pas simplement faire un parseur XML ?
Ca serait plus simple pour déterminer le nombre de fois ou <nom> apparait...
C'est pas le choix des lib qui manque dans php en plus :
http://www.lephpfacile.com/manual_php/ref.domxml.php
http://www.lephpfacile.com/manual_php/ref.simplexml.php
http://www.lephpfacile.com/manual_php/ref.xml.php
le 10/03/2007 à 18:46
Justement en faite la page que je souhaite parse en un "faux" fichier xml mal realise.
Pour pouvoir l'insere sur la page d'acceuil google je souhaite le refaire pour que google puisse le prendre en compte.
En faite si quelqu'un repond a ma question mon parseur xml sera fini, car tout est deja en place il me manque juste ce "detail".
Voila pourquoi je pose cette question mais les informations que tu m'as fourni pourront m'etre utile a l'avenir ^_^
le 10/03/2007 à 19:00
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Pourquoi c'est un "faux xml" ?
Avoir deux balises <nom> est autorisé, tout dépend de la DTD du document.
le 10/03/2007 à 19:11
Non bien sur je n'ai jamais dit le contraire mais la structure du fichier (qui est en realite un fichier PHP) n'est pas correct, donc en faite je veux reprendre les informations pour en refaire un vrai fichier xml c'est tout, et si j'arrive a trouver la solution de ma question je pourrais refaire le fichier xml :)
le 10/03/2007 à 19:24
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Ton fichier, c'est un PHP qui genere du XML valide (si c'est bien le truc d'epitech que tu veux parser).
Accès rapide :
PHP / MySQL
HTML / CSS
Javascript
Autres technologies
Le site
Les 3H du PHP
Le bar
Script / Production personnelle
Remonter