Pb fonction ereg

Résolu
cs_olive73 Messages postés 61 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 1 octobre 2009 - 19 nov. 2007 à 13:22
cs_olive73 Messages postés 61 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 1 octobre 2009 - 19 nov. 2007 à 13:44
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

cs_olive73 Messages postés 61 Date d'inscription vendredi 1 octobre 2004 Statut Membre Dernière intervention 1 octobre 2009
19 nov. 2007 à 13:44
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
3
Rejoignez-nous