Syntaxe ereg [Résolu]

Signaler
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
-
Bonsoir à tous, je me demandais quelle était la syntaxe pour savoir si une chaîne du type :

(##) se trouve dans la chaîne $str ? Je m'y perds un peu dans la syntaxe $^[ et tous ces trucs

d'ailleurs si qqn connait un tuto là-dessus?

J'ai essayé ça mais ça ne marche pas :

ereg ("\([0-9]{1,2}\)", $str, $regs);

7 réponses

Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
if(eregi("\(([0-9]{1,2})\)", $str, $regs))
{

ça devrait fonctionner...
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Salut,

utilise la fonction strpos() pour savoir si une chaîne est trouvée.

if(strpos($chaine,'chaine à trouver')!==FALSE)
{
//chaîne trouvée dans la variable $chaine
}

a +
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
En fait, je ne cherche pas une occurence précise mais bien toutes les chaînes de la forme :

(chiffrechiffre)

sinon, je suppose que c'est pour une question de rapidité que tu utilises strpos() plus qu'une autre?.....
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Deux chiffres donc ?

if(eregi("([0-9]{1,2})", $str, $regs);

Pour strpos effectivement, en fait tu disais plus haut que tu voulais savoir si une chaîne machin se trouvait dans une autre chaîne, donc j'avais pas compris ta question sous cette forme, désolé.

J'ai pas testé avec un preg_match mais je pense pas que ça sera plus rapide que le eregi pour cette utilisation.

a +
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
9433
Date d'inscription
mardi 9 octobre 2001
Statut
Membre
Dernière intervention
13 avril 2007
8
Deux chiffres donc ?

if(eregi("([0-9]{1,2})", $str, $regs))
{

Pour strpos effectivement, en fait tu disais plus haut que tu voulais savoir si une chaîne machin se trouvait dans une autre chaîne, donc j'avais pas compris ta question sous cette forme, désolé.

J'ai pas testé avec un preg_match mais je pense pas que ça sera plus rapide que le eregi pour cette utilisation.

a +
<hr size="2" width="100%"><li>Entraide, dépannage et vulgarisation informatique : Mon site de vulgarisation informatique</li><li>Codes-php.net</li>
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Merci de ta réponse, mais il manque un dernier détail : je cherche deux chiffres à l'intérieur de parenthèses mais comme les parenthèses sont normalement capturantes (comme les accolades), je ne sais pas comment faire comprendre à la fonction ce que je veux. Comme je l'ai dit, mettre des \ ne marche pas...

Désolé de ne pas avoir été clair dès le début
Messages postés
1980
Date d'inscription
dimanche 20 février 2005
Statut
Membre
Dernière intervention
24 septembre 2012
5
Bien vu! Merci beaucoup.