Article mis à jour le : 05-05-2022
Une jolie fonction PHP pour supprimer les accentsUtile pour créer des noms de fichiers ou faire du néttoyage, voici une petite fonction pour supprimer les accents. J'ai aussi mis une entrée pour remplacer les espaces et autres catactères spéciaux par un underscore '_'. Vous êtes donc libres de l'adapter à vos besoins.
On utilise la fonction strtr().
function supprimeAccents($strChaine)
{
// Suppression des caractères spéciaux
$tab_caracteres = array("¥" => "Y", "µ" => "u", "À" => "A", "Á" => "A",
"Â" => "A", "Ã" => "A", "Ä" => "A", "Å" => "A",
"Æ" => "A", "Ç" => "C", "È" => "E", "É" => "E",
"Ê" => "E", "Ë" => "E", "Ì" => "I", "Í" => "I",
"Î" => "I", "Ï" => "I", "Ð" => "D", "Ñ" => "N",
"Ò" => "O", "Ó" => "O", "Ô" => "O", "Õ" => "O",
"Ö" => "O", "Ø" => "O", "Ù" => "U", "Ú" => "U",
"Û" => "U", "Ü" => "U", "Ý" => "Y", "ß" => "s",
"à" => "a", "á" => "a", "â" => "a", "ã" => "a",
"ä" => "a", "å" => "a", "æ" => "a", "ç" => "c",
"è" => "e", "é" => "e", "ê" => "e", "ë" => "e",
"ì" => "i", "í" => "i", "î" => "i", "ï" => "i",
"ð" => "o", "ñ" => "n", "ò" => "o", "ó" => "o",
"ô" => "o", "õ" => "o", "ö" => "o", "ø" => "o",
"ù" => "u", "ú" => "u", "û" => "u", "ü" => "u",
"ý" => "y", "ÿ" => "y", " " => "_", "!" => "_",
"?" => "_", "%" => "_", "/" => "_", "*" => "_",
"+" => "_", "<" => "_", ">" => "_", "$" => "_",
"(" => "_");
return strtr($strChaine, $tab_caracteres);
}