Activité-Paranormale


Red devil Information

Publicité

Rechercher

Développement

Apportez vos talents de codeur !

Développer

Citations

Random quotation
La nature ayant à créer un être qui convînt à l'homme, par ses proportions, et à l'enfant, par son moral, résolut le problème en faisant de la femme un grand enfant.
(Antoine de Rivarol)

Événements - 8 septembre

Event Calendrier

Validation

Valid XHTML 1.0 Transitional Valid CSS!

Crystal ballTour de magie

AbductionFonction 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 ».



PHP


Publicité