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 :

Garder que les chiffres ! ! ! [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 44
    Points : 41
    Points
    41
    Par défaut Garder que les chiffres ! ! !
    Bonjour à tous,
    Voici mon petit problème :
    j'ai une suite de caractère pour chaque ligne :
    Code html : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <li><a href="900/"> 900/</a></li>
    <li><a href="901/"> 901/</a></li>
    <li><a href="902/"> 902/</a></li>
    <li><a href="903/"> 903/</a></li>
    <li><a href="904/"> 904/</a></li>
    <li><a href="905/"> 905/</a></li>
    Je ne veux conserver que la première partie NUMERIQUE :
    900
    901
    902
    903
    904
    905
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $valeur = preg_match_all('#(?:")\d{1,5}#', $contents, $matches);
    print_r($matches[0]);
    J'ai bien mis des parenthèses non capture pour ne pas choper le caractère ", mais rien à faire, il me retourne le tableau suivant :
    [0] => "900
    [1] => "901
    [2] => "902
    [3] => "903
    [4] => "904
    [5] => "905
    Une petite idée ?

    Merci !

  2. #2
    Membre régulier Avatar de Chris_Dupasquier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2010
    Messages : 67
    Points : 85
    Points
    85
    Par défaut
    Hello,

    $valeur = preg_match_all('#(?:")\d{1,5}#', $contents, $matches);
    Ce ne serait pas comme ça :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $valeur = preg_match_all('#"(?:")\d{1,5}#', $contents, $matches);
    ou
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $valeur = preg_match_all('#"(.*?")\d{1,5}#', $contents, $matches);
    A+
    La logique est une manière méthodique de se tromper en toute confiance.

  3. #3
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Merci d'avoir répondu,
    non ça ne fonctionne pas, ?: permet de ne pas conserver le groupe de capture, mais dans mon cas il reste affiché en sortie,

  4. #4
    Membre du Club
    Homme Profil pro
    Inscrit en
    Juillet 2005
    Messages
    44
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Juillet 2005
    Messages : 44
    Points : 41
    Points
    41
    Par défaut
    Bon, j'ai trouvé, en fait il faut utilisé le second groupe comme sortie, :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    $valeur = preg_match_all('#(?:")(\d{1,5})#', $contents, $matches);
    print_r($matches[1]);
    Merci à tous,

  5. #5
    Membre régulier Avatar de Chris_Dupasquier
    Homme Profil pro
    Développeur Web
    Inscrit en
    Janvier 2010
    Messages
    67
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : Suisse

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Janvier 2010
    Messages : 67
    Points : 85
    Points
    85
    Par défaut
    Tant mieux.

    Je me garde le code sous le coude, peut toujours servir...

    A +
    La logique est une manière méthodique de se tromper en toute confiance.

  6. #6
    Membre expert Avatar de Fench
    Homme Profil pro
    Chercheur en informatique
    Inscrit en
    Mai 2002
    Messages
    2 353
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Groenland

    Informations professionnelles :
    Activité : Chercheur en informatique
    Secteur : Administration - Collectivité locale

    Informations forums :
    Inscription : Mai 2002
    Messages : 2 353
    Points : 3 390
    Points
    3 390
    Par défaut
    Bonjour,

    Qd tu fais:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    preg_match_all( '#(")+(\d{1,5})#', $montexte, $matches);
    Le 0 contiendra tout, le 1 le résultat de la première parenthése capturante, le 2 le résultat de la deuxième etc ...

    Donc par exemple (cette regexp est bonne aussi) tu prends le $matches[2]
    Meuuh en AI à l'INRA
    Domaines: {java, php, js, jquery}{hibernate, doctrine}{MyLib, symfony, Zend}
    fait gagner du temps à ceux qui aident , donc un message avec la balise résolu laisse plus de temps pour résoudre d'autres problèmes (balise à cliquer en bas de l'écran)

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

Discussions similaires

  1. regex pour ne garder que les chiffres et les ;
    Par webol dans le forum Langage
    Réponses: 5
    Dernier message: 12/02/2015, 15h48
  2. [AC-2013] Ne garder que les chiffres
    Par JulienEvrard dans le forum VBA Access
    Réponses: 4
    Dernier message: 09/12/2014, 14h40
  3. [AC-2002] Ne garder que les chiffres
    Par angku dans le forum VBA Access
    Réponses: 12
    Dernier message: 19/05/2009, 10h14
  4. un input qui accepte que les chiffres ?
    Par VerrNum dans le forum Général JavaScript
    Réponses: 5
    Dernier message: 27/03/2006, 13h28
  5. un champ n'accepte que les chiffres....
    Par fadex dans le forum Général JavaScript
    Réponses: 11
    Dernier message: 19/10/2005, 14h18

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