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ésultat d'un regexp sur un numéro de téléphone [RegEx]


Sujet :

Langage PHP

  1. #1
    Invité
    Invité(e)
    Par défaut Résultat d'un regexp sur un numéro de téléphone
    Bonjour,

    J'utilise le regexp suivant pour détecter 2 numéros de téléphones.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    '#0[1-9]([ .-]?[0-9]{2}){4}#'
    je fait un preg_match_all et voici mon résultat :

    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
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    Array
    (
        [0] => Array
            (
                [0] => Array
                    (
                        [0] => 01 11 22 33 44
                        [1] => 1061
                    )
     
                [1] => Array
                    (
                        [0] => 01 55 66 77 88
                        [1] => 1252
                    )
     
            )
     
        [1] => Array
            (
                [0] => Array
                    (
                        [0] =>  44
                        [1] => 1072
                    )
     
                [1] => Array
                    (
                        [0] =>  88
                        [1] => 1263
                    )
     
            )
     
    )
    Je ne veux pas récupérer les 44 et 88, je en comprends pas pouruqoi ils sont détectés.

    quelqu'un à une idée ?

    merci

  2. #2
    Invité
    Invité(e)
    Par défaut
    Bon bah je n'ai pas de solution...

    Mais mom preg_replace me remplace comme il faut, perso ca me va.

  3. #3
    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,

    Ils ne sont pas vraiment détectés, mais dans ton expression tu utilises des parenthèses capturantes : ([ .-]?[0-9]{2})

    Or, avec preg_match_all (que tu as du utiliser avec PREG_OFFSET_CAPTURE) on récupère un tableau qui contient à l'indice 0 les résultats qui satisfont le masque complet, à l'indice 1 les résultats qui satisfont la première parenthèse capturante, ...

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

Discussions similaires

  1. [RegEx] Pregmatch sur un numéro de téléphone international
    Par zeflex dans le forum Langage
    Réponses: 5
    Dernier message: 14/08/2013, 16h36
  2. Réponses: 4
    Dernier message: 31/08/2007, 11h32
  3. JavaScript : Regexp correspondant à un numéro de téléphone
    Par arkienou dans le forum Général JavaScript
    Réponses: 4
    Dernier message: 31/08/2006, 17h47
  4. [MySQL] Résultat de requête différent sur 2 serveurs identiques
    Par schlitters dans le forum PHP & Base de données
    Réponses: 4
    Dernier message: 17/12/2005, 00h24
  5. Résultat d'un champ sur la même ligne
    Par laurent35 dans le forum Access
    Réponses: 11
    Dernier message: 30/10/2005, 20h33

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