Page 1 sur 1
supprimer des caractères non autorisés
Posté : 11 juin 2011, 11:12
par light86
bonsoir dans mon formulaire je ne veut que des lettres chiffre et @ et l'espace
si je trouvé un caractère non autorisés je le remplace par espace
je voudrais comment je peut réaliser cette fonction (y'a t'il des fonctions prédéfinies)
merci
Re: supprimer des caractères non autorisés
Posté : 11 juin 2011, 12:12
par Cyrano
Il y a
str_replace() qui fait ça très bien

Re: supprimer des caractères non autorisés
Posté : 11 juin 2011, 13:56
par light86
slt comment je peut exprimé mon motif pour dire les caractères différents de lettre et chiffre
merci
Re: supprimer des caractères non autorisés
Posté : 11 juin 2011, 14:04
par Cyrano
Dans ce cas, tu peux utiliser une expression régulière et la fonction preg_replace() au lieu de str_replace.
Le masque serait alors quelque chose comme ([^a-zA-Z0-9]) correspondant à tout ce qui n'est pas une lettre minuscule ou majuscule ou un chiffre de 0 à 9.
Re: supprimer des caractères non autorisés
Posté : 11 juin 2011, 14:07
par light86
bonsoir je fait ca
$res=preg_replace('![^a-zA-Z@0-9]!',' ',$ch);
je voudrais savoir comment je peut ajouter l'espace et les accent é è
merci
Re: supprimer des caractères non autorisés
Posté : 11 juin 2011, 14:25
par Cyrano
Dans ce cas, au lieu de « a-zA-Z » tu peux utiliser « \w » (correspondant à « word ») qui cinluera les caractères accentués.
En résumé, essaye avec le masque [^\w0-9@, ] qui ne touchera que ce qui n'est ni lettres, ni chiffres, ni @ ni espace ni virgule et ça traitera des phrases normales.
<?php
$masque = "#[^\w0-9@, ]#";
$res = preg_replace($masque, ' ', $ch);