Extraire une chaine de caractère contenu entre deux balises

Signaler
Messages postés
95
Date d'inscription
dimanche 8 janvier 2006
Statut
Membre
Dernière intervention
7 avril 2011
-
Messages postés
239
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
-
Bonjour,

je cherche a extraire le texte contenu entre deux balises et j'ai donc ecrit un petit script pour le faire :
$fp = fopen($cacheFile,"r"); //lecture du fichier
while (!feof($fp)) { //on parcoure toutes les lignes
  $page .= fgets($fp, 4096); // lecture du contenu de la ligne
}
$titre = eregi("(.*)",$page,$regs); //on isole le titre
/* Le titre commence par <title>,
puis contient n'importe quelle chaîne,
et se termine par </title> */
echo count($regs);
echo $regs[1]; // on retourne la premiere occurrence trouvée
// Les occurrences se trouvent entre parenthèses
// $regs[0] renvoie toute la chaîne
fclose($fp);

la chaine retournée commence bien à mais ne se fini pas à la premiere occurence , elle va jusqu'a la derniere.
j'ai donc décidé de compter le nombre de resultat que j'ai dans mon tableau $regs : et seulement 2 alors qu'il devrait m'en sortir une dizaine...
avez vous une idée ???

merci d'avance .

2 réponses

Messages postés
239
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
1
Salut,

Essaye ceci :

preg_match_all('#(.*?)#', $string, $matches, PREG_SET_ORDER);
Messages postés
239
Date d'inscription
samedi 21 février 2004
Statut
Membre
Dernière intervention
3 juin 2010
1
Désolé, les chevrons ne sont pas passés: preg_match_all('#(.*?)#', $string, $matches, PREG_SET_ORDER);