Prob preg_match() - résolu

Prob preg_match() - résolu - PHP - Programmation

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 :  

Code :
  1. preg_match("[_-\w]",$rlogin


 
mais ca foire royal  [:wam]  
 
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 ^_^
Reply

Marsh Posté le 28-11-2002 à 14:20:00   

Reply

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 (_)


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

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...


Message édité par _maximus_ le 28-11-2002 à 14:36:15

---------------
Ptit con de goret je t'emmerde ^_^
Reply

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 ;)


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

Marsh Posté le 28-11-2002 à 14:40:21    

Essayes en rajoutant un / à la fin de l'expression.

Reply

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


Message édité par _maximus_ le 28-11-2002 à 14:48:52

---------------
Ptit con de goret je t'emmerde ^_^
Reply

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.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

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


---------------
Ptit con de goret je t'emmerde ^_^
Reply

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.


---------------
Incongru : une FAQ abandonnée sur les Standards du Web - FAQ périmée de blabla@Prog
Reply

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 :)


---------------
Ptit con de goret je t'emmerde ^_^
Reply

Marsh Posté le 28-11-2002 à 15:17:57   

Reply

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.


Message édité par _maximus_ le 28-11-2002 à 15:20:02

---------------
Ptit con de goret je t'emmerde ^_^
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed