Bonjour,
Je souhaite effectuer un traitement sur une chaine pour y éliminer les caractère spéciaux.
Pour cela j'utilise une expression régulière qui va remplacer tous les caractères autres que ceux définis dans l'expression régulière par le caractère "_".
Voici le code :
Logiquement on retrouvera une chaine avec :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 return eregi_replace("[^a-z0-9._-àéèêù[:space:]]+", "_", $chaine);
- Les caractères alphanumériques sont admis (a-z0-9)
- Le point
- l'underscore
- le tiret
- les caractères accentués : àéèêù
- l'espace
Et bien non, exemple :
La chaine : ponctuation.point.[crochet](parenthèse)-tiret-;pvirg;'cote'&commercial&²carre²#diese#{acolade}`coteinc`_undersc_^chap^@arob@=egal=+plus+r7àá
donnera :
Ponctuation.point._crochet_parenthèse_tiret_pvirg_cote_commercial_²carre²_diese_{acolade}`coteinc`_undersc__chap_arob_egal_plus_r7àa
Ma question : pourquoi reste-t-il des caractères spéciaux ??
Un spécialiste des expression régulière peut-il se pencher sur mon prob ??
Merci d'avance de vos réponses...







Répondre avec citation
Partager