expressions régulières

Eléphanteau du PHP | 32 Messages

12 mars 2005, 12:30

bonjour à tous,

je bute sur une bétise dont je ne trouve (ou vois) pas la solution.

dans une chaine je recherche 2 sous-chaines...

si je cherche par ex "oui;" ou "non;" dans la chaine

Code : Tout sélectionner

$chaine="non;oui;saitpas;"
je fais

Code : Tout sélectionner

if (eregi("oui;|non;", $chaine)){}
jusque là tout est bon... j'ai bien le résultat, mais si je cherche "oui;" et "non;" ... j'ai plus de solution

Code : Tout sélectionner

if (eregi("oui;non;", $chaine)){}
marche pas car pas dans le bon ordre de recherche il semble

merci d'avance si quelqu'un peut m'apporter ses lumières

LaTeX
Invité n'ayant pas de compte PHPfrance

12 mars 2005, 20:07

Salut à toi,

Essaye avec "&".
if (eregi("oui; & non;", $chaine)){}

Eléphanteau du PHP | 32 Messages

12 mars 2005, 20:19

merci de ta réponse mais ça ne marche toujour pas. le & ou && ne résoud rien

Mammouth du PHP | 1339 Messages

12 mars 2005, 23:25

if((ereg("oui;", $chaine)) AND (ereg("non;", $chaine))) {}
Et ca ?
Bon sinon tu me fais un message privé et on se fait un TeamViewer

Eléphanteau du PHP | 32 Messages

12 mars 2005, 23:34

oui ça pas de problème ça marche... mais en fait j'ai simplifié volontairement la chaine et mon code...

et avec cette solution je me retrouve avec X conditions à vérifier... long, long... j'espérais juste trouver un raccourci avec les expressions régulières.

Eléphanteau du PHP | 20 Messages

13 mars 2005, 01:27

$schaine = explode(';', $chaine);
if(in_array(array('oui','non'), $schaine))
{

}
Le code si dessous vérifie si oui et non est dans le tableau retourner par explode lors de la séparation de $chaine. Je crois que c'est ce que tu voulais?

Eléphanteau du PHP | 32 Messages

13 mars 2005, 11:53

oui merci mais ça ne marche pas... pour que cela fonctionne il faudrait me semble-t-il que le tableau
array('oui','non')
existe dans le tableau crée avec
explode(';', $chaine)
ce qui n'est pas le cas

Code : Tout sélectionner

$chaine=explode(';', $chaine)
donne

Code : Tout sélectionner

$chaine=array ( [0] => oui [1] => non [2] => saitpas )
[/quote]