Remplacer caractères spéciaux dans une chaine
Bonjour à tous,
Dans le cadre de la mise en place d'un système d'URL Rewriting, j'essaie de transformer des chaines représentant des noms en chaine propre pour les URLS.
J'ai fais plusieurs recherches et trouvé plusieurs fonctions qui faisais cette transformation, or aucune ne fonctionne correctement. Je pense que j'ai un problème d'encodage.
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11
| function simpleName($chaine){
// les accents
$chaine = trim($chaine);
$chaine = strtr($chaine,"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüÿÑñ","aaaaaaaaaaaooooooooooooeeeeeeeecciiiiiiiiuuuuuuuuynn");
// les caracètres spéciaux (autres que lettres et chiffres en fait)
$chaine = preg_replace('/([^.a-z0-9]+)/i', '', $chaine);
$chaine = strtolower($chaine);
return $chaine;
}
echo (simpleName('Hôtel Plazza')); |
Je souhaiterai obtenir le résultat : hotelplazza or j'obtiens hnutelplazza
Auriez vous une explication ? Merci !!