Extraire une chaine d'un fichier (eregi)

Consultez la formation au référencement naturel Google de WebRankInfo / Ranking Metrics

seabird
WRInaute impliqué
WRInaute impliqué
 
Messages: 261
Inscription: Lun Déc 01, 2003 17:57

Extraire une chaine d'un fichier (eregi)

Message le Ven Aoû 17, 2007 23:37

Salut à tous

Je voudrais extraire une chaine d'un fichier à l'aide de eregi . Dans le fichier la chaine à extraire se situe entre 2 balises.
Par exemple: <balise ???????????? > chaine à extraire </balise> .
???????????? indique un contenu quelconque

J'ai donc ecrit: eregi("<balise(.*)>(.*)</balise>",$essai, $image);

j'obtiens $image[1]= ???????????? > chaine à extraire et $image[2]=""

Par contre j'ai rajouté par exemple un double guillemet avant > dans le fichier. Ce qui donne <balise ???????????? "> chaine à extraire </balise>
Si maintenant j'écrit: eregi("<balise(.*)\">(.*)</balise>",$essai, $image);
j'obtiens bien maintenant $image[1]= ???????????? et $image[2]= chaine à extraire

Je n'arrive pas à m'en sortir dans mon expression. Comment faire pour prendre en compte <balise ???????????? > dans mon eregi

Merci

seabird
WRInaute impliqué
WRInaute impliqué
 
Messages: 261
Inscription: Lun Déc 01, 2003 17:57

Message le Sam Aoû 18, 2007 0:32

Je viens d'ecrire cette syntaxe , apparemment cela marche. Mais je ne suis pas encore convaincu.

eregi("<balise[^>]*>(.*)</balise>",$essai, $image);

La j'ai bien $image[1]= chaine à extraire

Les expressions régulières , ce n'est vraiment pas mon truc. :?


KOogar
WRInaute accro
WRInaute accro
 
Messages: 3339
Inscription: Mar Nov 16, 2004 18:27

Message le Sam Aoû 18, 2007 9:49

Quand on dit regex, on balise tous !! :D :D

Oublie les <>, va directement chercher l'info contenu entre les guillements

Code: Tout sélectionner
<?php

  $masque = '#balise="(.*?)"#i';
  preg_match_all($masque,$chaine,$matches,PREG_SET_ORDER);

  // ton resultat se trouve dans le tableau $matches
?>


Ou sans les guillements:

Code: Tout sélectionner
<?php

  $masque = '#balise=(.*?)#i';
  preg_match_all($masque,$chaine,$matches,PREG_SET_ORDER);

  // ton resultat se trouve dans le tableau $matches
?>


Formation recommandée sur ce thème :

Formation Référencement naturel Google : apprenez une méthode efficace pour optimiser à fond le référencement naturel dans Google de façon durable... Formation animée par Olivier Duffez et Fabien Facériès, experts en référencement naturel.

Tous les détails sur le site Ranking Metrics : programme, prix, dates et lieux, inscription en ligne.

Lectures recommandées sur ce thème :



Qui est en ligne

Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 0 invités