Optimistation d'expressions regulieres

Résolu
Signaler
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007
-
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007
-
salut tt le monde^^

voila, je me creuse la tete pour optimiser un preg_replace pour un formulaire. je vous montre un exemple:
----------------------------------------------------------------------------------------------------
$pseudo = trim($_POST['login']);
$pseudo1 = preg_replace('/([^.a-z0-9]+)/i', '', $pseudo);

$mdp1 = trim($_POST['mot1']);
$mdp2 = preg_replace('/([^.a-z0-9]+)/i', '', $mdp1);
$mdp3 = trim($_POST['mot2']);
$mdp4 = preg_replace('/([^.a-z0-9]+)/i', '', $mdp3);

$mail1 = trim($_POST['email1']);
$mail = preg_replace('/([^.a-z0-9]+)/i', '', $mail1);
------------------------------------------------------------------------------------------------------

l'ideal serait de créer un fonction qui inclurait une variable aléatoire ($mdp,$mdp1,$mdp3 etc..)
mais  je ne sait pas si c'est possible, en tout cas je voit pas comment.

sinon j'ai essayé pleins de trucs du genre (c'est juste un exemple):

$var1 = '([^.a-z0-9]+)';
$pseudo1 = preg_replace('/$var1."/i', '',".$pseudo);

mais rien a faire ca me renvoi toujours une erreur, du type T_string ou parse error,
alors si quelqu'un a une idée chui preneur^^

4 réponses

Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

nan mais relis toi :

$pseudo1 = preg_replace('/$var1."/i', '',".$pseudo);

evidement, ca fait parse error...
moi je te dis que ca :

$pseudo1 = preg_replace('/'.$var1.'/i', '',$pseudo);

c'est correct... tu pourrais au moins tester...

au passage, c'est pas une optimisation (ca ne fait pas gagner du temps de calcul)

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
12303
Date d'inscription
mardi 10 février 2004
Statut
Modérateur
Dernière intervention
30 juillet 2012
42
Salut

$pseudo1 = preg_replace('/'.$var1.'/i', '',".$pseudo);

cf phpdebutant.org

une recherche sur exalead vous aurait peut-etre evite de poser cette question

In a dream, I saw me, drop dead...
U were there, U cried...
It was just a dream,
if I die, U won't cry, maybe, U'll be happy
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007

salut coucou^^

il me semblait que j'avais dejas essayé, j ai re-essayé et ca veut pas :/
*j ai pas oublié de fermer le form c te fois ci  +_+*
 
mais je viens de me rendre compte que la variable n'est pas definie,
il doit mal *ou trop bien* interpreter les ();
meme si je les replace dans la ligne ca ne veut pas non plus, les caracteres speciaux ont l'air de mettre le boxon. et puis a la fin ca serviras plus a rien.

si t as une autre soluce, sinon j pense pas que ce soit tres utile comme optimisation de toutes facons, si?
Messages postés
25
Date d'inscription
lundi 8 mai 2006
Statut
Membre
Dernière intervention
6 août 2007

T.T merciiiiiiii coucou^^