Remplacer caractere non autorisée [PHP]
alphon5o
-
Zep3k!GnO Messages postés 2049 Statut Membre -
Zep3k!GnO Messages postés 2049 Statut Membre -
Bonjour,
je souhaite pouvoir recuperer une donnée rentré depuis un formulaire. l'utilisateur ne doit par contre entrer que des caracteres compris entre [a-z], [A-Z], [0-9]; pour pouvoir etre sur que ce seulement ces caracteres la qui sont saisi j'utilise un preg_match("#[a-zA-Z0-9]#", $_POST['val_input']); jusque là tout va bien maintenant j'aimerai pouvoir remplacer tous les autres caracteres ne repondant a la regle par des "_" ou si possible par leur equivalent, seulement pr les caractere accentués, c'est a dire é par e, à par a, ...
merci pour vos contribution
je souhaite pouvoir recuperer une donnée rentré depuis un formulaire. l'utilisateur ne doit par contre entrer que des caracteres compris entre [a-z], [A-Z], [0-9]; pour pouvoir etre sur que ce seulement ces caracteres la qui sont saisi j'utilise un preg_match("#[a-zA-Z0-9]#", $_POST['val_input']); jusque là tout va bien maintenant j'aimerai pouvoir remplacer tous les autres caracteres ne repondant a la regle par des "_" ou si possible par leur equivalent, seulement pr les caractere accentués, c'est a dire é par e, à par a, ...
merci pour vos contribution
A voir également:
- Remplacer caractere non autorisée [PHP]
- Caractère ascii - Guide
- Caractère spéciaux - Guide
- Caractere speciaux - Guide
- Remplacer disque dur par ssd - Guide
- Caractere vide - Guide
1 réponse
Pour remplacer accents par sans accents, moi j'utilise cette fonction que j'ai faite :
Sinon pour remplacer par des '_' :
function cleanString($str) {
// Remplacement des accents
$avant = "àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ" ;
$apres = "aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY" ;
$str = strtr($str, $avant, $apres);
return $str ;
}
Sinon pour remplacer par des '_' :
$sNewString = preg_replace("#[^a-zA-Z0-9]#", "_", $_POST['val_input']);