Comment supprimer les accents des lettres en PHP ?
Réponses rédigées par Antoine
Dernière mise à jour : 2021-03-22 12:01:53
Question
Comment puis-je supprimer les accents des lettres, en PHP, de telle manière que par exemple la chaine de caractères à û é è ç ï ö Â É
devienne a u e e c i o A E
.
Réponse
Pour supprimer les accents des lettres en PHP, et ainsi remplacer les lettres accentuées par leurs équivalents sans accent, vous pouvez utiliser la fonction setlocale
et sa constante LC_CTYPE
pour classifier la conversion des caractères, puis la fonction iconv
pour translittérer les lettres accentuées, comme explicité sur cette page du site de PHP.
<?php
setlocale(LC_CTYPE, 'fr_FR');
$avec_accent = "à û é è ç ï ö Â É";
$sans_accent = iconv('UTF-8', 'ASCII//TRANSLIT//IGNORE', $avec_accent);
echo $avec_accent." sont convertis en ".$sans_accent;
?>