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 :

eregi ou ereg?


Sujet :

Langage PHP

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 39
    Points
    39
    Par défaut eregi ou ereg?
    Bonjour,
    pour un fichier:
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <item>
    aaaa
    </item>
    <item>
    bbbb
    </item>

    comment faire pour recuperer le contenu entre les deux balises(item)?
    (aaaa, bbbb)
    pour l'instant ca me renvoi le contenu entre la premiere balise item et la derniere
    (aaaaaaaaaaa</item><item>bbbbbbb)

  2. #2
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    ereg et eregi ne sont plus des fonctions à utiliser (dépassées).
    je te conseille d'utiliser preg_match().
    Pour ce qui est de l'expression régulière, tu dois exclure ta balise du contenu.
    e.g: "#<item>[^<]+</item>#is"

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    625
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 625
    Points : 822
    Points
    822
    Par défaut
    Ni l'un ni l'autre

    Ces fonctions existent encore par soucis de compatibilité avec les anciennes versions mais sont dépréciées. Les fonctions de la famille preg_* sont à préférer.

    Sinon ton truc ressemble à du XML... Du coup tu te simplifierais fortement la vie en utilisant simpleXML par exemple.
    Pourfendeur de singletons en croisade

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Janvier 2008
    Messages
    41
    Détails du profil
    Informations personnelles :
    Localisation : France, Haute Vienne (Limousin)

    Informations forums :
    Inscription : Janvier 2008
    Messages : 41
    Points : 39
    Points
    39
    Par défaut
    Merci pour vos réponses,
    cependant pour la première proposition :
    1/ entre la balise item y'a d'autres balises donc c'est pas possible:
    <item>
    <title>aaa</title>
    </item>
    <item>
    <title>aaa</title>
    </item>

    donc la solution proposé ne marchera pas.
    2/Pour la proposition deux, j'ai pensé au simple xml, ou dom xml, mais ce n'est pas compatible php4.

    si vous avez d'autres solutions je suis preneur

  5. #5
    Expert confirmé
    Avatar de Thes32
    Homme Profil pro
    Développeur PHP, .Net, T-SQL
    Inscrit en
    Décembre 2006
    Messages
    2 379
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur PHP, .Net, T-SQL

    Informations forums :
    Inscription : Décembre 2006
    Messages : 2 379
    Points : 4 853
    Points
    4 853
    Par défaut
    Citation Envoyé par Petibidon Voir le message
    Ni l'un ni l'autre
    Sinon ton truc ressemble à du XML... Du coup tu te simplifierais fortement la vie en utilisant simpleXML par exemple.
    Je te conseil aussi de le manipuler en xml, ça seras plus simple.

    Ressources pour domxml avec PHP4
    - http://fr2.php.net/manual/fr/book.domxml.php
    - http://php.developpez.com/faq/?page=...domxml-install - http://www.developertutorials.com/tu...816/page1.html.
    Développeur | Zend Certified Engineer

    Étapes Pour mieux se servir du forum:
    1. Commencez par lire les cours et tutoriels ;
    2. Faites une recherche;
    3. Faites un post si rien trouvé dans les deux étapes précédentes en respectant les règles;

    Nix>_Rien n'est plus pratique que la théorie

  6. #6
    Membre habitué
    Homme Profil pro
    Développeur Web
    Inscrit en
    Avril 2007
    Messages
    121
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2007
    Messages : 121
    Points : 136
    Points
    136
    Par défaut
    Sinon, tu peux utiliser: "#<item>(.*?)</item>#is"
    Mais un preg_match_all te renverra la liste de tous les masques remplissant cette condition dans le tableau matches et non les sous-masques.
    Pour récupérer les sous masques, je te conseille d'utiliser preg_replace() associé à explode()...

Discussions similaires

  1. [RegEx] Fonctions eregi ou ereg
    Par highvalue.fr dans le forum Langage
    Réponses: 9
    Dernier message: 21/08/2009, 15h48
  2. [RegEx] ereg("...",...)
    Par diaboloche dans le forum Langage
    Réponses: 2
    Dernier message: 11/01/2006, 13h31
  3. prb ereg
    Par kirbs dans le forum Langage
    Réponses: 6
    Dernier message: 12/12/2005, 12h55
  4. eregi punctuation non mais - et _
    Par natsou_k dans le forum Langage
    Réponses: 2
    Dernier message: 26/11/2005, 15h29
  5. Réponses: 8
    Dernier message: 24/11/2005, 03h53

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