Skip to content

Instantly share code, notes, and snippets.

@lohic
Last active August 29, 2015 14:07
Show Gist options
  • Save lohic/d01c458e69be636c2365 to your computer and use it in GitHub Desktop.
Save lohic/d01c458e69be636c2365 to your computer and use it in GitHub Desktop.
<?php
/**
* Supprimer les accents
*
* @param string $str chaîne de caractères avec caractères accentués
* @param string $encoding encodage du texte (exemple : utf-8, ISO-8859-1 ...)
*/
function suppr_accents($str, $encoding='utf-8')
{
// transformer les caractères accentués en entités HTML
$str = htmlentities($str, ENT_NOQUOTES, $encoding);
// remplacer les entités HTML pour avoir juste le premier caractères non accentués
// Exemple : "&ecute;" => "e", "&Ecute;" => "E", "Ã " => "a" ...
$str = preg_replace('#&([A-za-z])(?:acute|grave|cedil|circ|orn|ring|slash|th|tilde|uml);#', '\1', $str);
// Remplacer les ligatures tel que : Œ, Æ ...
// Exemple "Å“" => "oe"
$str = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $str);
// Supprimer tout le reste
$str = preg_replace('#&[^;]+;#', '', $str);
return $str;
}
// Exemple d'utilisation de la fonction
$texte = 'Ça va mon cœur adoré?';
echo suppr_accents($texte);
// Affiche : "Ca va mon coeur adore?"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment