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 fonction preg_match() [RegEx]


Sujet :

Langage PHP

  1. #1
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut Problème fonction preg_match()
    Bonjour à tous,

    Je tiens à préciser avant tout que je suis novice dans ce langage.

    Je souhaiterai tester le format d'un champs, si celui si correspond au format date MysSql yyyy-mm-dd, alors j’exécute du code, sinon je ne fais rien.

    Voici mon code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(preg_match('/^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$/',$data[$tbl_LibelleColonne[$i]])) 
    					{
    					$str_Champs = MiseEnForme_Date($data[$tbl_LibelleColonne[$i]], 2);
    					}
    					else
    					{
    					$str_Champs = $data[$tbl_LibelleColonne[$i]];
    					}
    Il me retourne comme erreur :

    Warning: preg_match() [function.preg-match]: Unknown modifier '.' in /homez.221/partenart/www/ApplisW3b/Fonctions/fct_Presentation.php on line 35

    Je n'ai pas réussi à résoudre, quelqu'un a t-il une solution ?

    Merci à tous ....
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

  2. #2
    Membre confirmé
    Développeur Web
    Inscrit en
    Avril 2005
    Messages
    397
    Détails du profil
    Informations personnelles :
    Âge : 40

    Informations professionnelles :
    Activité : Développeur Web

    Informations forums :
    Inscription : Avril 2005
    Messages : 397
    Points : 518
    Points
    518
    Par défaut
    Salut pour vérifier une date au format : YYYY-MM-DD tu peux faire comme cela :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
     
    if(preg_match("/^(19|20)\d\d[- \/\.](0[1-9]|1[012])[- \/\.](0[1-9]|[12][0-9]|3[01])$/", $date))
    {
        // la date est correcte
    } else {
      // la date est incorrecte
    }
    Zend PHP5 Certification
    MySQL 4 Core Certification

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

    Je pense que le problème vient du fait que tu utilises des / dans ton expression régulière alors que ce caractère est utiliser comme délimiteur.

    Tu peux essayer ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    preg_match('#^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$#',$data[$tbl_LibelleColonne[$i]])
    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

  4. #4
    Membre habitué Avatar de Milyshyn76
    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Novembre 2007
    Messages
    440
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Âge : 36
    Localisation : France, Seine Maritime (Haute Normandie)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 440
    Points : 158
    Points
    158
    Par défaut
    A Nesmontou et Gats, Bravo et Bravo, les deux fonctionnent ! merci pour votre réactivité c'est génial (Surtout que j'suis au boulot) !

    Voici ton code Gats:
    $str_Syntaxe = '';
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(preg_match("/^\d{4}-\d{2}-\d{2}$/",$data[$tbl_LibelleColonne[$i]])) 
    					{
    					$str_Champs = MiseEnForme_Date($data[$tbl_LibelleColonne[$i]], 1);
    					}
    					else
    					{
    					$str_Champs = $data[$tbl_LibelleColonne[$i]];
    					}
    Et le tiens Nesmontou :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    if(preg_match('#^(19|20)\d\d[- /.](0[1-9]|1[012])[- /.](0[1-9]|[12][0-9]|3[01])$#',$data[$tbl_LibelleColonne[$i]])) 
    					{
    					$str_Champs = MiseEnForme_Date($data[$tbl_LibelleColonne[$i]], 1);
    					}
    					else
    					{
    					$str_Champs = $data[$tbl_LibelleColonne[$i]];
    					}
    Voilà, merci beaucoup c'est cool !
    Mon TWITTER : Ici Mon Instragam :
    ---- BTS Informatique de Gestion ---- ---- Etudiante Responsable Ingénieries Logiciels ----

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

Discussions similaires

  1. Problème avec fonction preg_match
    Par lebanner82 dans le forum Langage
    Réponses: 5
    Dernier message: 23/03/2012, 04h08
  2. [RegEx] Fonction preg_match problème
    Par wylls dans le forum Langage
    Réponses: 2
    Dernier message: 13/12/2006, 17h06
  3. Problème fonction PL/SQL
    Par SSJ17Vegeta dans le forum PL/SQL
    Réponses: 2
    Dernier message: 29/10/2005, 21h14
  4. Problème fonction et trigger sous 7.2
    Par anoukhan dans le forum PostgreSQL
    Réponses: 1
    Dernier message: 22/06/2005, 22h53
  5. Réponses: 2
    Dernier message: 20/08/2004, 17h10

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