Fonction pour supprimer les caractères spéciaux en PHP
La gestion des caractères spéciaux ("é", "ñ", ...) est souvent
délicate et il peut, de ce fait, être utile de les supprimer afin
de faciliter la manipulation d'une chaîne de caractères.
Fonctions de suppression (1)
public function strip_accent($string)
{
$patterns = array();
$replacements = array();
$patterns[0] = '/[\xe8-\xeb]/';
$patterns[1] = '/[\xc8-\xcb]/';
$patterns[2] = '/[\xc0-\xc5]/';
$patterns[3] = '/[\xe0-\xe5]/';
$patterns[4] = '/[\xf2-\xf6\xf8]/';
$patterns[5] = '/[\xd2-\xd6\xd8]/';
$patterns[6] = '/[\xcc-\xcf]/';
$patterns[7] = '/[\xec-\xef]/';
$patterns[8] = '/[\xd9-\xdc]/';
$patterns[9] = '/[\xf9-\xfc]/';
$patterns[10] = '/[\xff]/';
$patterns[11] = '/[\xdd]/';
$patterns[12] = '/[\xe7]/';
$patterns[13] = '/[\xc7]/';
$patterns[14] = '/[\xf1]/';
$patterns[15] = '/[\xd1]/';
$replacements[0] = 'e';
$replacements[1] = 'E';
$replacements[2] = 'A';
$replacements[3] = 'a';
$replacements[4] = 'o';
$replacements[5] = 'O';
$replacements[6] = 'I';
$replacements[7] = 'i';
$replacements[8] = 'U';
$replacements[9] = 'u';
$replacements[10] = 'y';
$replacements[11] = 'Y';
$replacements[12] = 'c';
$replacements[13] = 'C';
$replacements[14] = 'n';
$replacements[15] = 'N';
$string = utf8_decode($string);
$string = preg_replace($patterns, $replacements, $string);
return $string;
}
A utiliser pour les encodages de type ISO-8859-1 qui codent les caractères spéciaux (comme les accents) sur 2 octets.
Fonctions de suppression (2)
function stripAccents($string){
return strtr($string,'àáâãäçèéêëìíîïñòóôõöùúûüýÿÀÁÂÃÄÇÈÉÊËÌÍÎÏÑÒÓÔÕÖÙÚÛÜÝ',
'aaaaaceeeeiiiinooooouuuuyyAAAAACEEEEIIIINOOOOOUUUUY');
}
Remarque :
Lorsque la page est encodée en UTF-8, alors les caractères spéciaux (comme les accents) se composent de deux bits. Ainsi :
echo strlen(« é »);
Affichera « 2 ».
Si on encode la page en UTF-8 sans Bom (ANSI as UTF-8, sous Notepad++), la même commande affichera « 1 ».
26 août 2015 - Wakonda - PHP
Rechercher
Tags
Articles récents
- Quel est le but de l'attribut "role" en HTML ?
- Changer la couleur de l'espace réservé (placeholder)
- Attention à cet email d’arnaque !
- Supprimer un fichier d'un référentiel Git sans le supprimer du système de fichiers local
- JS - Récupérer le dernier élément d'un tableau
- JS - Prévisualiser une image avec son upload
- PHP - Convertir une chaîne de caractères en un booléen
- PHP : Vérifier si une session a déjà été démarrée
- Créer un APK ou un AAB en ligne de commandes
- L'opérateur !! en Javascript