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
Thèmes : php - accents
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;
?>