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 :

preg_match_all et balise multiple [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut preg_match_all et balise multiple
    Bonjour,

    Soit l'expression régulière :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    $pattern  = "`\[l([0-9]*)\](.*)\[/l([0-9]*)\]`";
    preg_match_all($pattern, $textarea, $matches, PREG_SET_ORDER )
    Qui est cencé attraper les choses qui ressemblent a
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    aaa   [l1]test[/l1] bbb
    aaa   [l2]test[/l2] [l2]test encore[/l2] bbb
    Pour la premiere ligne, c'est nickel genre un print_r me donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        [0] => Array
            (
                [0] => [l1]test[/l1]
                [1] => 1
                [2] => test
                [3] => 1
            )
    Pour la deuxième ligne, naturellement, j'aimerai deux tableaux ayant la même tête que le premier, par contre, j'obtiens :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
        [1] => Array
            (
                [0] => [l2]test[/l2] [l2]test encore[/l2]
                [1] => 2
                [2] => test[/l2] [l2]test encore
                [3] => 2
            )
    Il a pris la "plus longue" chaine viable avec l'expression régulière, alors qu'il me faudrai les plus courtes. C'est possible ou je dois me palucher ca a la main ?

    Merci d'avance !
    --
    Rakken
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

  2. #2
    Membre expérimenté
    Avatar de Rakken
    Homme Profil pro
    Inscrit en
    Août 2006
    Messages
    1 257
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Août 2006
    Messages : 1 257
    Points : 1 341
    Points
    1 341
    Par défaut
    En cherchant dans le forum pour un autre problème, je suis tombé sur la solution.

    Merci quand même ;-)

    --
    Rakken
    Rakken

    Oneira, un monde imaginaire d'Heroic Fantasy.

    Parce que la présomption d'innocence est un des fondements de notre pays et qu'elle doit le rester, dans tous les domaines : http://www.laquadrature.net/

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

Discussions similaires

  1. [XL-2010] Conversion excel to xml problème balise multiple
    Par arkhang dans le forum Excel
    Réponses: 4
    Dernier message: 01/04/2015, 10h48
  2. xml acces direct a une balise multiple selon l'attribut
    Par exter666 dans le forum PHP & Base de données
    Réponses: 9
    Dernier message: 23/04/2012, 19h28
  3. [RegEx] interdir balise preg_match_all
    Par simoelasimo dans le forum Langage
    Réponses: 4
    Dernier message: 28/01/2009, 14h22
  4. Débutant XSLT, problème de balises multiples
    Par carapass dans le forum XSL/XSLT/XPATH
    Réponses: 2
    Dernier message: 15/08/2008, 23h19
  5. question multiple sur la balise select
    Par Tempotpo dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 10/04/2006, 17h14

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