Extraire une chaine d'un fichier (eregi)
3 messages
• Page 1 sur 1
- seabird
- WRInaute occasionnel

- Messages: 308
- Inscription: 1 Déc 2003
Extraire une chaine d'un fichier (eregi)
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
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 occasionnel

- Messages: 308
- Inscription: 1 Déc 2003
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.
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

- Messages: 3974
- Inscription: 16 Nov 2004
Quand on dit regex, on balise tous !!
Oublie les <>, va directement chercher l'info contenu entre les guillements
Ou sans les guillements:
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
?>
3 messages
• Page 1 sur 1
Lectures recommandées sur ce thème :
- eregi sur une chaine de caractère
- extraire une sous chaine d'une chaine
- Extraire chaine et comparer
- Extraire une chaine de caractères
- extraire variable indépendant dans chaine de caractere
- Extraire un code postal dans une chaine
- [RESOLU ]extraire un chaine de carcatére a partir d'un url
- extraire une sous chaine à gauche d'un point
- Expression régulière pour extraire une chaine entre 2 tags
- [script] Extraire d'une chaîne les mots commençant par une majuscule
Qui est en ligne
Utilisateurs parcourant ce forum: Aucun utilisateur enregistré et 1 invité
