Fonction PHP pour supprimer les accents

Notez que cet article a été écrit il y a plus de 5 ans, mais il n'est pas forcément obsolète.

Supprimer les accents
Supprimer les accents

Supprimer les caractères accentués d’une chaine en PHP n’est pas une chose si aisée. La fonction string iconv ( string $in_charset , string $out_charset , string $str )  convertit les caractères encodés de la chaîne str depuis le jeu de caractères in_charset vers le jeu de caractères out_charset.

Ainsi, $iconv = iconv( 'UTF-8', 'ASCII//TRANSLIT//IGNORE', $string );  est une chaine dont les accents de $string  ont été supprimés.

Cette solution rapide donnera la plupart du temps de bons résultats, y compris pour la cédille ç ou la ligature œ. Cependant, si les résultats ne sont pas conformes à ce que l’on attend, on peut convertir les caractères spéciaux en entités HTML, et les supprimer. Par exemple é donne en caractères HTML &eacute, il suffit de ne garder que le e avec des expressions rationnelles.

Et hop, deux fonctions faciles à utiliser pour supprimer les accents des chaines de caractères.

4 Commentaires

  1. Merci bcp pour la fonction; il m’a permis de résoudre mon problème.

  2. Super merci pour cette fonction

  3. Merci Murviel,

    ta fonction est bien plus subtile que celle que j’avais développé, j’adopte la tienne 🙂

    Amicalement

    Hervé

  4. Merci 🙂

Soumettre un commentaire

Votre adresse e-mail ne sera pas publiée.

Ce site utilise Akismet pour réduire les indésirables.