Pb fonction ereg [Résolu]

Signaler
Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009
-
Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009
-
Bonjour,

J'ai un petit soucis avec la fonction ereg().
Je récupère une chaîne de caractères dans laquelle il y a un nom de ville suivit d'une heure (ex : Paris 12h30).
J'utilise la fonction ereg pour récuperer le nom de la ville, les heures puis les minutes.

voici mon code :

if (ereg ("([a-zA-Z]*)([0-9]{1,2})h([0-9]{2})", $value, $regs)) {
        echo "
reg1 : " .$regs[1];
        echo "
reg2 : " .$regs[2];
        echo "
reg3 : " .$regs[3];
    }

Voici le résultat :

reg1 :
reg2 : 12
reg3 : 30

Je n'ai rien dans reg1. (il y a 12h30 dans $regs[0])

alors que si je fais

if (ereg ("([a-zA-Z]*)", $value, $regs)) {
        echo "
reg1 : " .$regs[1];

Le résultat est :

reg1 : Paris

Est-ce que quelqu'un peut m'expliquer pourquoi dans le premier cas je ne récupère pas le nom de la ville ?

D’avance merci de vos réponses ;-)

1 réponse

Messages postés
61
Date d'inscription
vendredi 1 octobre 2004
Statut
Membre
Dernière intervention
1 octobre 2009

C'est bon j'ai mon erreur.

En fait l'expression j'ai oublié l'espace :-(

if (ereg ("([a-zA-Z]*) ([0-9]{1,2})h([0-9]{2})", $value, $regs)) {
        echo "
reg1 : " .$regs[1];
        echo "
reg2 : " .$regs[2];
        echo "
reg3 : " .$regs[3];
    }

ou

if (ereg ("([a-zA-Z]*).([0-9]{1,2})h([0-9]{2})", $value, $regs)) {
        echo "
reg1 : " .$regs[1];
        echo "
reg2 : " .$regs[2];
        echo "
reg3 : " .$regs[3];
    }

fonctionnent