Enlever les accents d’une chaine

0.00 avg. rating (0% score) - 0 votes
Partager:

Il arrive parfois qu’on est besoin de pouvoir enlever les accents d’une chaine.

Cette fonction est simple, il suffit de lui passer en paramètre une chaine pour lui enlever ces accents.

<?php
function enleve_accents($chaine, $charset='utf-8') 
	{
	$chaine = htmlentities($chaine, ENT_NOQUOTES, $charset);

    $chaine = preg_replace('#&([A-za-z])(?:acute|cedil|circ|grave|orn|ring|slash|th|tilde|uml);#', '\1', $chaine);
    $chaine = preg_replace('#&([A-za-z]{2})(?:lig);#', '\1', $chaine); // pour les ligatures e.g. 'œ'
    $chaine = preg_replace('#&[^;]+;#', '', $chaine); // supprime les autres caractères

    return $chaine;
	}

Exemple:

<?php
// On utilise la fonction:
echo("Avant: é è ç à ê â")."<br>\n";	
echo "Après: ".enleve_accents("é è ç à ê â");	

// ou:
echo("Avant: J'ai été au cinéma")."
\n";	
echo "Après: ".enleve_accents("J'ai été au cinéma");
?>

Tous les codes sont testés et sont fonctionnels, si un de ces codes ne marche pas chez vous, merci de me le signaler.
Partager:
0.00 avg. rating (0% score) - 0 votes

Vous aimerez aussi...

Laisser un commentaire