Remplacer caractere non autorisée [PHP]

Fermé
alphon5o - 19 mai 2011 à 10:31
Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 - 19 mai 2011 à 12:35
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

A voir également:

1 réponse

Zep3k!GnO Messages postés 2025 Date d'inscription jeudi 22 septembre 2005 Statut Membre Dernière intervention 18 novembre 2015 200
Modifié par Zep3k!GnO le 19/05/2011 à 12:35
Pour remplacer accents par sans accents, moi j'utilise cette fonction que j'ai faite :
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']); 
0