Supprimer la ponctuation dans chaine+PHP

Melaine -  
kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   -
Bonjour

Je recherche une expression régulière ou une ligne de commande qui me permette de supprimer la ponctuation dans une chaine de caractère.
Ex.: l'arbre et le fleur -->larbreetlafleur

Merci d'avance

Melaine

2 réponses

  1. teebo Messages postés 33585 Date d'inscription   Statut Contributeur Dernière intervention   1 797
     
    Salut,
    Le mieux est de ne garder que les charactères je pense:

    donc remplacer tous les non charactères par rien

    Replace("[^a-Z]","")

    Je ne connais pas la syntaxe des regex en php mais l'idée est là...
    1
  2. kilian Messages postés 8675 Date d'inscription   Statut Modérateur Dernière intervention   1 526
     
    Voui c'est pas loin de Replace() :-)

    Ca donnerais pour un texte à filtrer contenu dans $chaine
    ereg_replace("[^a-zA-Z]","",$chaine);
    
    // Ou même pour garder les caractères et les chiffres
    ereg_replace("[^a-zA-Z0-9]","",$chaine);
    
    /* Si ça ne fonctionne pas, essaie de rajouter une étoile pour dire "N'importe quel nombre de fois où apparaissent ces caractères": */
    
    ereg_replace("[^a-zA-Z0-9]*","",$chaine);
    


    Tu peux visiter cette page bien faite sur les expressions régulières en php:
    http://www.commentcamarche.net/php/phpreg.php3
    0