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 :

regex fonctionne dasn un cas mais pas dans l'autre [RegEx]


Sujet :

Langage PHP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut regex fonctionne dasn un cas mais pas dans l'autre
    Bonjour,

    Tout d'abord, excusez moi si ma question vous parai naïve mais je suis une bille en regex

    Je souhaiterai savoir pourquoi ce regex fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    $search = 'blablabla<td class="test">Victoria</td>blablabla';
    preg_match('#<td class="test">(\w+)</td>#', $search, $matches);
    echo $matches[1];
    et pourquoi celui-ci non
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    $search = '
                    <a id="ID" href="/repertoire/sousrepertoire">
     
                        <div class="row">
                            <div class="col-sm-6 col-xs-6 siteName">
                                NOM
                            </div>
                            <div class="col-sm-2 col-xs-3 text-right">
                                PRIX
                            </div>
                            <div class="col-sm-2 hidden-xs text-right">
                                    <span class="falling">-0.001</span>
     
                            </div>
                            <div class="col-sm-2 col-xs-3 text-center">
                                    <img src="repertoire/sousrepertoire/image.png" />
                            </div>
                        </div>
                </a>
    ';
     
     
    preg_match('#<a id="ID" href="/repertoire/sousrepertoire">(\w+)</a>#', $search, $matches);
    echo $matches[1];
    Merci davance

  2. #2
    Expert confirmé
    Avatar de mathieu
    Profil pro
    Inscrit en
    Juin 2003
    Messages
    10 672
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2003
    Messages : 10 672
    Par défaut
    ce sont les sauts de lignes qui font que ça ne fonctionne pas
    pour détecter ce qui est à l'intérieur des balises "a", essayez cela :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('#<a id="ID" href="/repertoire/sousrepertoire">(.+)</a>#sU', $search, $matches);
    les options "s" et "U" sont expliquées là :
    http://php.net/reference.pcre.pattern.modifiers

  3. #3
    Membre éclairé Avatar de elcoyotos
    Homme Profil pro
    Amateur passionné
    Inscrit en
    Octobre 2006
    Messages
    496
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine Saint Denis (Île de France)

    Informations professionnelles :
    Activité : Amateur passionné

    Informations forums :
    Inscription : Octobre 2006
    Messages : 496
    Par défaut
    Merci !
    C'est parfait !

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

Discussions similaires

  1. Réponses: 10
    Dernier message: 03/08/2011, 17h19
  2. pourquoi cela fonctionne dans un cas et pas dans l'autre ?
    Par Attila54 dans le forum VB 6 et antérieur
    Réponses: 11
    Dernier message: 01/10/2010, 15h40
  3. Réponses: 11
    Dernier message: 09/09/2010, 02h53
  4. Pourquoi Free fonctionne dans un cas et pas dans l'autre
    Par BuzzLeclaire dans le forum Langage
    Réponses: 8
    Dernier message: 25/01/2009, 14h04
  5. Réponses: 9
    Dernier message: 13/03/2008, 01h34

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