Filtrage de caractères
Filtrage de caractères

Par kyrepo, publié le 19/01/2012 à 15:50:11 Vous souhaitez supprimer les caractères spéciaux d'un chaine de caractères ?
Si oui alors ce petit script est pour vous :
Code PHP
Analysons ce script :
- $caracteres_speciaux est un tableau qui correspond à des expressions régulières.
- $caracteres_replacements est la correspondance…
Par exemple :
[éèêëÊË] sera remplacé par "e"
La dernière expression ([^a-zA-Z0-9_]) est différente.
Après avoir remplacé tous les caractères accentué par leur équivalent et les espace par des underscores on par du principe que tous caractères autre que alphanumérique est à supprimer. C'est le rôle de cette expression.

Si oui alors ce petit script est pour vous :
Code PHP
function supprimer_caracteres($chaine) {
$caracteres_speciaux = array ('@[éèêëÊË]@i','@[àâäÂÄ]@i','@[îïÎÏ]@i','@[ûùüÛÜ]@i','@[ôöÔÖ]@i','@[ç]@i','@[ ]@i','@[^a-zA-Z0-9_]@');
$caracteres_replacements = array ('e','a','i','u','o','c','_','');
return preg_replace($caracteres_speciaux, $caracteres_replacements, $chaine);
}Analysons ce script :
- $caracteres_speciaux est un tableau qui correspond à des expressions régulières.
- $caracteres_replacements est la correspondance…
Par exemple :
[éèêëÊË] sera remplacé par "e"
On remarque un "i" après le @ de fin de chaque expression. Il s'agit du commutateur "insensible a la casse". Pas fondamentalement utile ici mais on ne sait jamais.
La dernière expression ([^a-zA-Z0-9_]) est différente.
Après avoir remplacé tous les caractères accentué par leur équivalent et les espace par des underscores on par du principe que tous caractères autre que alphanumérique est à supprimer. C'est le rôle de cette expression.
Ajouter un commentaire






















