J'ai lu avec intérêt la FAQ :http://php.developpez.com/faq/?page=...ons_regulieres
mais j'ai un problème assez simple - me semble t'il - mais que je n'arrive pas à résoudre :
J'ai une chaine qui peut contenir 0, 1 ou n fois le caractère -
Je voudrais nettoyer cette chaine pour n'avoir que systématiquement 1 fois le caractère - de suite :
exemple de chaine :
a-------b donne a-b
a-------b-----c donne a-b-c
etc
j'ai essayé
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part preg_replace('[--]', '-', $string);
ou
Code : Sélectionner tout - Visualiser dans une fenêtre à part str_replace('--', '-', $string);
mais ça donne a----b et a----b---c
Code : Sélectionner tout - Visualiser dans une fenêtre à part ereg_replace('--', '-', $string);
Quelle serait la bonne syntaxe ? et subsidiairement dans ce cas, la plus rapide ?
merci d'avance








Répondre avec citation



Je me doutais qu'il ne fallait pas beaucoup de code, mais mon niveau d'expertise des regex est ... débutant. Je comprend grosso modo le le principe mais quant à l'exploitation... Si j'ai bien compris ton code c'est on cherche le pattern - avec 2 ou plus occurrences et on le remplace par -


Partager