Extraire une chaine de caractère contenu entre deux balises

cs_loupile Messages postés 95 Date d'inscription dimanche 8 janvier 2006 Statut Membre Dernière intervention 7 avril 2011 - 22 avril 2009 à 11:45
DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 - 22 avril 2009 à 17:54
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

DiGhan Messages postés 239 Date d'inscription samedi 21 février 2004 Statut Membre Dernière intervention 3 juin 2010 1
22 avril 2009 à 17:52
Salut,

Essaye ceci :

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