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