Supprimer les caractères spéciaux dans une chaîne
vendredi 17 avril 2009Bonjour à tous,
Il est souvent très désagréable de devoir traiter une chaîne avec des caractères spéciaux tels des lettres avec accents, des apostrophes ou autres symboles bizarres surtout lorsque celle-ci fera référence à un fichier.
C’est pourquoi je vous propose cette fonction qui est une amélioration personnelle d’une similairement plus courte trouvée sur la toile qui remplace juste les lettres accentuées par leur homologues normale.
-
span class= »st0″>"ÀÁÂÃÄÅàáâãäåÒÓÔÕÖØòóôõöøÈÉÊËèéêëÇçÌÍÎÏìíîïÙÚÛÜùúûüµÿÑñ", //Avant
-
"AAAAAAaaaaaaOOOOOoooooooEEEEeeeeCcIIIIiiiiuuuuuuuuuynn"); //Après
-
‘_’; //Tout ce qui n’est pas "commun" est remplacé par _
-
‘`(_)(\1{1,})`s’,‘$1’,$chaine); //On supprime les _ consécutifs
-
"J’aime bien diffuser des [infos] (par ici sur mon ‘déposoire’) => @$%°{~}©29436.");
-
//Affichera J_aime_bien_diffuser_des_infos_par_ici_sur_mon_deposoire_29436.
Vous le voyez, ici le filtre est assez serré puisque seuls passent les lettres (majuscules et minuscules), les chiffres, le point et l’underscore.
Libre à vous de rendre ce filtre plus ou moins dense selon vos besoins!