Remplacer des caractères spéciaux

arthezius Messages postés 3756 Statut Membre -  
Alain_42 Messages postés 5413 Statut Membre -
Bonjour,

Je test actuellement un code pour remplacer automatiquement tout mes caractères spéciaux par une simple lettre.
Exemple:
"idée" deviendrai "idee"
Voici mon code:
<?php
function filter($in) {
	$search = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
	$replace = array ('e','a','i','u','o','c','_','');
	return preg_replace($search, $replace, $in);
}
$a='général';
echo filter($a);
?>


Le problème c'est que "général" deviens "geeneeral".
Je comprends pas trop...

Si vous pouviez m'aider...
A voir également:

1 réponse

Alain_42 Messages postés 5413 Statut Membre 894
 
J'ai cette tite fonction qui est opérationelle:

<?php
function suppr_accents($chaine) {
   $accents = array('À','Á','Â','Ã','Ä','Å','Ç','È','É','Ê','Ë','Ì','Í','Î','Ï','Ò','Ó','Ô','Õ','Ö','Ù','Ú','Û','Ü','Ý','à','á','â','ã','ä','å','ç','è','é','ê','ë','ì','í','î','ï','ð','ò','ó','ô','õ','ö','ù','ú','û','ü','ý','ÿ');
   $sans = array('A','A','A','A','A','A','C','E','E','E','E','I','I','I','I','O','O','O','O','O','U','U','U','U','Y','a','a','a','a','a','a','c','e','e','e','e','i','i','i','i','o','o','o','o','o','o','u','u','u','u','y','y');
   return str_replace($accents, $sans, $chaine);
}

echo suppr_accents("chaîne de caractères");
?>
7