IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

récupérer un élément entre certains caractères [RegEx]


Sujet :

Langage PHP

  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut récupérer un élément entre certains caractères
    Bonjour,

    je cherche a récupérer le contenu d'un fichier entre certain caractère.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    function play($fichier) {
     
       if($chaine = @implode("",@file($fichier))) {
     
    (...)
      }
    } 
    $emails = play('fichier.txt');
    Ca c'est pour ouvrir le fichier, ça fonctionne.

    Mais j'arrive pas a comprendre les fonction comme eregi ou spreg_split

    Par exemple, ça ne fonctionne pas, ça (c'est dans les (...) du premier code):
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    $titre = eregi("|(.*)|",$page,$chaine); 
     
    for($i=0;$i<100;$i+=1)
    	{ echo $chaine[$i]; }
    Si vous pouviez m'aider a mieux comprendre, ça serait merveilleux.

  2. #2
    Membre expert
    Avatar de Eusebe
    Inscrit en
    Mars 2006
    Messages
    1 992
    Détails du profil
    Informations personnelles :
    Âge : 46

    Informations forums :
    Inscription : Mars 2006
    Messages : 1 992
    Points : 3 344
    Points
    3 344
    Par défaut
    Bonjour,

    '|' est un caractère particulier qui permet de donner le choix entre deux chaînes. Il faut donc l'échapper si tu veux le rechercher dans une chaîne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $titre = eregi("\|(.*)\|", $page, $chaine);
    foreach ($chaine as $capture)
    {
        echo $capture."</br>";
    }
    Mais si tu veux plus de fonctionnalités, je te conseille d'utiliser les fonctions PCRE, par exemple avec preg_match_all (le modificateur U permet de récupérer les plus petites chaînes de caractères possibles) :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    $titre = preg_match_all("@\|(.*)\|@U", $page, $chaine);
    foreach ($chaine as $capture)
    {
        echo $capture."</br>";
    }

  3. #3
    Candidat au Club
    Profil pro
    Inscrit en
    Juillet 2008
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2008
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci, je m'en suis sorti grâce à ça !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [RegEx] Récupérer du texte entre deux chaines de caractères
    Par Globolite dans le forum Langage
    Réponses: 3
    Dernier message: 10/07/2014, 16h38
  2. Réponses: 3
    Dernier message: 15/05/2012, 10h38
  3. [XL-2007] Récupérer une donnée entre deux caractères
    Par ben01 dans le forum Excel
    Réponses: 5
    Dernier message: 18/10/2011, 17h03
  4. [RegEx] Récupérer le dernier élément entre slashes
    Par pp_le_moko dans le forum Langage
    Réponses: 8
    Dernier message: 09/11/2009, 13h01
  5. Récupérer un élément d'une chaine de caractère
    Par DJuL- dans le forum Windows Forms
    Réponses: 5
    Dernier message: 08/04/2008, 09h33

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo