Prob preg_match() - résolu - PHP - Programmation
Marsh Posté le 28-11-2002 à 14:30:57
preg_match("/[^\-_\W]+", $rlogin);
vrai si au moins un (+) caractère n'est pas (^) un caractère de mot (\W) ou un tiret (\- à échapper) ou un underscore (_)
Marsh Posté le 28-11-2002 à 14:35:24
gm_superstar a écrit a écrit : preg_match("/[^\-_\W]+", $rlogin); vrai si au moins un (+) caractère n'est pas (^) un caractère de mot (\W) ou un tiret (\- à échapper) ou un underscore (_) |
Merci j'ai essayé mais il me dit ceci :
Warning: No ending delimiter '/' found in /home/decorati/www/gbb/SubmitRegistering.inc.php on line 20
j'ai essayé de l'enlever le '/' ca dit plus d'erreurs mais alors ca ne marche pas comme il faut, c'est tout le temps vrai...
Marsh Posté le 28-11-2002 à 14:39:17
preg_match("/[^\-_\W]+/", $rlogin);
Oups, petit oubli de ma part, désolé.
Il fallait ajouter un / à la fin et non pas enlever le premier
Marsh Posté le 28-11-2002 à 14:48:41
gm_superstar a écrit a écrit : preg_match("/[^\-_\W]+/", $rlogin); Oups, petit oubli de ma part, désolé. Il fallait ajouter un / à la fin et non pas enlever le premier |
OK je viens de tester, et bien il me sort toujours que c'est vrai,
si je rentre comme $rLogin : "abcde" c'est vrai, et c'est normal
si je rentre comme $rLogin : "abc-d_e" c'est vrai, et c'est normal aussi
si je rentre comme $rLogin : "ab;!"cde" c'est vrai, et ca ne doit pas l'etre...
edit : pardon, c'est l'inverse qui se produit c'est toujours FAUX
Marsh Posté le 28-11-2002 à 14:48:53
Mmmm en fait je n'ai jamais su ce qu'ils mettaient dans le \W...
Essaye avec : preg_match("/[^\-_a-z0-9]+/i", $rLogin);
Comme ça on contrôle tous les caractères qu'on veut autoriser.
Marsh Posté le 28-11-2002 à 14:53:14
gm_superstar a écrit a écrit : Mmmm en fait je n'ai jamais su ce qu'ils mettaient dans le \W... Essaye avec : preg_match("/[^\-_a-z0-9]+/i", $rLogin); Comme ça on contrôle tous les caractères qu'on veut autoriser. |
Ceci fonctionne,
je te remercie, sinon, aurais tu un site ou il y aurait un bon tutoriel pour maitriser les regexp ? Car j'en trouve aucu de tres complet, et bien expliqué, en francais de preference... meme sur php.net ils ne devellopent pas bcp ca je trouve.
Merci
Marsh Posté le 28-11-2002 à 15:07:54
Je n'ai jamais trouvé de bien transcendant Et depuis que phpinfo.net a disparu ça manque un peu.
http://www.oreilly.fr/catalogue/regex.html (sans doute pas mal)
http://developpeurs.journaldunet.c [...] preg.shtml
Mais il faut aussi prendre le temps de lire la doc de PHP qui contient l'essentiel pour commencer.
Marsh Posté le 28-11-2002 à 15:17:57
gm_superstar a écrit a écrit : Je n'ai jamais trouvé de bien transcendant Et depuis que phpinfo.net a disparu ça manque un peu. http://www.oreilly.fr/catalogue/regex.html (sans doute pas mal) http://developpeurs.journaldunet.c [...] preg.shtml Mais il faut aussi prendre le temps de lire la doc de PHP qui contient l'essentiel pour commencer. |
Merci bcp
Marsh Posté le 28-11-2002 à 15:19:46
Pour ce qui est de la doc j'ai ete sur php.net, mais ca m'as pas bcp aidé pour les regexp, j'ai un bouquin avec toute les fonction aussi, mais il ne detaillent pas les expressions regulieres dedans.
Marsh Posté le 28-11-2002 à 14:20:00
Bonjour,
j'essaie très difficilement de me familiariser avec les expressions régulières, mais je ne trouve pas de bon tutoriaux sur le net, j'ai trouvé ce site : http://www.codeur.org/doc/doc.php?ID=10 en cherchant sur le forum, mais j'arrive pas a m'en sortir avec ca.
En fait ce que je voudrais c'est detecter la validité d'une chaine de caractères avec les arguements suivants :
Tout les caractères non-alphanumeriques sont interdit dans la chaine, sauf les caractères '-' et '_'
j'ai essayé avec ce site de le faire moi meme j'ai essayé ceci :
mais ca foire royal
Il me faudrait un peu plus d'exemples variés pour mieux comprendre a mon avis...
merci d'avance
Message édité par _maximus_ le 28-11-2002 à 15:06:54
---------------
Ptit con de goret je t'emmerde ^_^