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 :

Trouver toutes les dates dans un texte [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut Trouver toutes les dates dans un texte
    Bonjour,

    J'arrive pas a faire une expression régulière pour récupérer toute les date trouver dans un texte dans un tableau.

    Les dates seront de ce format 12/01/2008.

    Merci de votre aide.

  2. #2
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Si c'est juste l'expression régulière qu'il te manque il me semble que ceci devrait faire l'affaire :

    "[0-3][0-9]/[0-1][0-9]/[1-2][0-9][0-9][0-9]"
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  3. #3
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Quand j'utilise la dedans ca me trouve rien car moi ma date peut etre melanger avec du texte aussi

    preg_match_all("!^[0-3][0-9]/[0-1][0-9]/[1-2][0-9][0-9][0-9]$!",$date,$matches,PREG_SET_ORDER);

  4. #4
    Membre chevronné Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Points : 2 227
    Points
    2 227
    Par défaut
    Voici ce qui devrait résoudre ton pb :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('`^((0[1-9])|(1\d)|(2\d)|(3[0-1]))\/((0[1-9])|(1[0-2]))\/(\d{4})',$date,$matches,PREG_SET_ORDER) ;
    One minute was enough, Tyler said, a person had to work hard for it, but a minute of perfection was worth the effort. A moment was the most you could ever expect from perfection.

    -- Chuck Palahniuk, Fight Club, Chapter 3 --

  5. #5
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Y a une erreur dans ta ligne de code que je trouve pas car il me donne ca comme erreur : Invalid flags specified

    merci a toi

  6. #6
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Jai trouvé l'erreur mais voila si je met du texte par exemple :

    Blaaaaa 12/08/1945 bvlividfidifdgdg 14/01/2005 dfdfdfdf.

    Ca ne marche pas il ne me ressort pas les 2 dates.

    Merci a toi.

  7. #7
    Membre émérite
    Avatar de Nesmontou
    Homme Profil pro
    Architecte logiciel
    Inscrit en
    Septembre 2004
    Messages
    1 612
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Architecte logiciel
    Secteur : Finance

    Informations forums :
    Inscription : Septembre 2004
    Messages : 1 612
    Points : 2 969
    Points
    2 969
    Par défaut
    Salut, il me semble que si tu fais ceci, ça devrait marcher
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    <?php
    $pattern = '#(0[1-9]|1\d|2\d|3\d)/(0[1-9]|1[0-2])/(\d{4})#';
    $subject = 'Blaaaaa 12/08/1945 bvlividfidifdgdg 14/12/2005 dfdfdfdf.';
    preg_match_all($pattern, $subject, $matches);
    var_dump($matches[0]);
    ?>
    Bon développement

    Attention, il s'agit juste d'une vérification sur le format, pas sur la validité d'une date ; par exemple, le 31/02/2008 est considéré ici comme une date
    Si vous ne pouvez expliquer un concept à un enfant de six ans, c'est que vous ne le comprenez pas complètement. Albert EINSTEIN

    F.A.Q. : Java, PHP, (X)HTML / CSS

    N'oubliez pas de cliquer sur le bouton Résolu en bas de page quand vous avez obtenu une solution à votre problème

  8. #8
    Membre régulier Avatar de Shandler
    Profil pro
    Inscrit en
    Février 2005
    Messages
    514
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 514
    Points : 107
    Points
    107
    Par défaut
    Merci beaucoup pour ton aide.

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

Discussions similaires

  1. [XL-2007] Trouver toutes les dates des semaines de l'année
    Par apt dans le forum Macros et VBA Excel
    Réponses: 6
    Dernier message: 20/06/2012, 22h12
  2. Réponses: 21
    Dernier message: 04/05/2010, 13h14
  3. Supprimer tout les espaces dans un fichier texte
    Par harry le ravi dans le forum VBScript
    Réponses: 3
    Dernier message: 26/06/2009, 11h08
  4. Exporter toutes les variables dans un fichier texte
    Par mustang-ffw02 dans le forum Macros et VBA Excel
    Réponses: 7
    Dernier message: 07/10/2008, 20h22
  5. [VB6] Toutes les dates entre un interval dans un dynaset
    Par tim69000 dans le forum VB 6 et antérieur
    Réponses: 18
    Dernier message: 10/04/2006, 16h13

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