REGEX

cs_Swop Messages postés 20 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 1 juin 2005 - 18 déc. 2004 à 15:36
cs_Swop Messages postés 20 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 1 juin 2005 - 18 déc. 2004 à 16:46
Bonjou...

Je réalise un script php pour récuperer ses valeurs possibles dans un textaréo, saisi par l'utilisateur.

J'utilise donc un Regex qui me renvera les infos souhaitées :

$regex1=preg_match("!Niveau : (?:Très Faible|Faible|Moyen|Fort|Très Fort|Remarquable) \((?:([0-9]+[-][0-9]+)|([<>][0-9]+))\)!", $chaine, &$niv);

if($niv[1]!=NULL)
{$niv2 = $niv[1];}
else
{$niv2 = $niv[2];}

Mais le problème, c'est qu'il y a toujours des problèmes dans le if qui suit la requete du regex ...
Faut-il vérifier la valeur de l'array, ou alors voir si il est défini afin de pouvoir récupérer la valeur $niv2 avec le résultat qui diffère selon le choix de l'utilisateur ??

Je rapelle que le texte marqué par l'internaute est soit de type (2-6) soit de type (<6)

Quel est mon problème ??

merci de vos futures réponses
swop

1 réponse

cs_Swop Messages postés 20 Date d'inscription samedi 5 juillet 2003 Statut Membre Dernière intervention 1 juin 2005
18 déc. 2004 à 16:46
naj'ai résolut moproblème, en passent par un autre chemin à la base ..

mais il me reste un problème ...

Porquoi ce REGEX marche :

$regex1=preg_match("!Niveau : (?:Très Faible|Faible|Moyen|Fort|Très Fort|Remarquable|Excellent|Jamais Vu) \((?:(?:entre ([0-9]+[-][0-9]+)|([<>][0-9]+)))\)!", $chaine, &$niv);

et pas celui la :

$regex1=preg_match("!Dés d'Attaque : (?:Très Faible|Faible|Moyen|Fort|Très Fort|Remarquable|Excellent|Jamais Vu) \((?:(?:entre ([0-9]+[-][0-9]+))|([<>][0-9]+))\)!", $chaine, &$att);

alrs que les 2 onts la forme suivante dans le textaréa :

Niveau : Fort (entre 5-7)
Dés d'Attaque : Moyen (entre 4-6)

merci d'avance ..
swop
0
Rejoignez-nous