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 :

Problème avec expressions régulières. [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut Problème avec expressions régulières.
    Bonjour,

    J’essaie de récupérer toutes les chaînes situées entre ces quotes :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     <!-- Il est le numéro 221978 -->
    Ce dont j’ai besoin c’est du numéro.

    Voici mon code:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nboccurences = preg_match_all( '#<!-- ([1-9]) --!>#', $filecontent, $occurences, PREG_SET_ORDER );
    Ce dont j’ai besoin c’est du numéro. Ca fonctionne pas et je ne vois pas pourquoi.

    Je suis allé voir ici, mais je ne trouve pas la solution:
    http://g-rossolini.developpez.com/tu...s/?page=page_2

  2. #2
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    Salut,

    voila une correction:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    $nboccurences = preg_match_all( '#<!-- .* ([0-9]{1,}) -->#', $filecontent, $occurences, PREG_SET_ORDER );

  3. #3
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Merci!!
    mais peux tu me traduire cette partie stp
    ??

  4. #4
    Membre confirmé
    Profil pro
    Développeur Web
    Inscrit en
    Avril 2006
    Messages
    430
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2006
    Messages : 430
    Points : 557
    Points
    557
    Par défaut
    .* == un caractère, X fois (permet de traiter: 'Il est le numéro')
    ([0-9]{1,}) = capturer des chiffres uniquement présent en groupe d'au minimum 1 et au maxium indéfini.

  5. #5
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Je n'ai aps tres bien compris pour le mais je vais tout de même essayer comme ça
    merci encore.

  6. #6
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    le point signifie "n'importe quel caractère"
    le * signifie que le caractère qui précède (ici n'importe lequel) peut être répété 0 ou n fois

  7. #7
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Ok merci, j’ai compris !

    Il ne trouve aucune occurence alors qu'il y en a plus d'une.

  8. #8
    Membre habitué

    Profil pro
    Inscrit en
    Décembre 2004
    Messages
    121
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2004
    Messages : 121
    Points : 127
    Points
    127
    Par défaut
    essaie .*? a la place de .*
    le .*? sarrete de matcher le plus tot possible donc des que la suite de la regex match. ce qui n'est pas le cas avec .* qui match surement tout jusqu'a la fin de la chaine.

  9. #9
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Toujours rien ...

  10. #10
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    le problème doitvenir des # non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nboccurences = preg_match_all( '/<!-- .* ([0-9]{1,}) -->/', $filecontent, $occurences, PREG_SET_ORDER );

  11. #11
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Citation Envoyé par MasterOfChakhaL
    le problème doitvenir des # non?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    $nboccurences = preg_match_all( '/<!-- .* ([0-9]{1,}) -->/', $filecontent, $occurences, PREG_SET_ORDER );
    Oui c'était le problème, les délimiteurs étaient en double.


    Sinon quelqu’un a t’il une idée de la raison pour laquelle j’obtiens ceci quand je tente d’afficher le contenu de ma variable "$occurrences" ??
    Voici le code :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    echo "<b>$occurences[0]</b></br>" ;
    résultat :
    J’ai aussi essayé d’afficher toutes les occurrences à l’aide d’une boucle, mais j’obtiens la même chose à chaque fois, à savoir :

  12. #12
    Rédacteur
    Avatar de MasterOfChakhaL
    Homme Profil pro
    Développeur Web
    Inscrit en
    Juin 2004
    Messages
    2 147
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Juin 2004
    Messages : 2 147
    Points : 3 264
    Points
    3 264
    Par défaut
    ils en parlent sur php.net... c'estr bien un tableau que tu es sensé récupéré...

    fait
    tu verras le contenu de ton tableau

  13. #13
    Membre du Club Avatar de Cygnus Saint
    Profil pro
    Inscrit en
    Mai 2005
    Messages
    66
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2005
    Messages : 66
    Points : 45
    Points
    45
    Par défaut
    Ca marche, merci.

    Pourtant j'avais déja affiché les contenus de tableaux avec la fonction echo()

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

Discussions similaires

  1. Problème avec expression régulière
    Par Nico128 dans le forum Débuter avec Java
    Réponses: 2
    Dernier message: 17/12/2012, 17h41
  2. Problème avec expression régulière
    Par Snote100024 dans le forum ActionScript 3
    Réponses: 2
    Dernier message: 19/04/2011, 07h48
  3. problème avec expression régulière
    Par kevins dans le forum Général Python
    Réponses: 7
    Dernier message: 21/05/2010, 12h15
  4. problème avec expressions régulières
    Par washh dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 22/08/2008, 18h35
  5. Problème avec expression régulière
    Par zoidy dans le forum Macros et VBA Excel
    Réponses: 12
    Dernier message: 22/08/2007, 09h43

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