Romain CANON
Développeur Web passionné, spécialisé dans TYPO3. Joueur de StarCraft II et DotA 2. Fan de Led Zepp'.



Formatage : supprimer les accents des caractères d'une chaîne


Il est très courant sur des sites français – ou autre, mais c'est un bon exemple – de vouloir supprimer les accents des caractères d'une chaîne ; c'est notamment très utile lorsqu'on veut renommer un fichier comprenant des caractères spéciaux, et ainsi éviter de futurs problèmes d'accessibilité aux fichiers.

Exemple : je veux renommer « Voyage à l'étranger.jpg » ; en utilisant la fonction ci-dessous, nous obtiendrons : « Voyage a l'etranger.jpg »

Bon usage !

/**
 * Will remove accents from a string.
 * Example: "à" will become "a".
 *
 * @param	$text	string	The string you want to format.
 * @return	string	The formatted string.
 */
public static function formatAccentsInString($text) {
	$translationTable = get_html_translation_table(HTML_ENTITIES);
	$search = array();
	$replace = array();
	foreach ($translationTable as $literal => $entity) {
		if (ord($literal) >= 192) {
			$replace[] = substr($entity, 1, 1);
			$search[] = $literal;
		}
	}
	return str_replace($search, $replace, $text);
}