Nettoyer les occurrences multiples et consécutives

WRInaute discret
Bonjour à tous,

J'ai cherché sur Google, mais je n'arrive pas à regler un petit probleme de Regex.
je cherche désespérément le moyen de supprimer des occurences multiples et consecutives grace à ereg_replace()

C'est a dire : je veux transformer
$chaine=" <br /><br /><br /><br /><br /><br /> ";
en
$chaine=" <br />";

(sachant que je ne connais pas le nombre d'occurences de <br />)

J'ai essayé
Code:
<?php
$chaine=" <br /><br /><br /><br /><br /><br /> ";
echo ereg_replace("[<br />]{2,}", "<br />", $chaine);
?>

Mais ca ne fonctionne pas. Les <br /> ne se "simplifient" pas.

Quelqu'un sait comment faire ?

Merci d'avance ;)
 
WRInaute discret
Salut Mumbly,
hum, ca m'enleve les 'r' en bout de mots
Code:
			Faites<br />eveni<br />dans l'huile les



EDIT : et les 'b' aussi et les <br /> restent
 
WRInaute discret
OK merci beaucoup mumbly !
Ca marche très bien sur
Code:
<br /><br /><br /><br /><br />
mais le probleme c'est que mes <br /> ne sont pas "collés", il y a un retour chariot je crois entre eux. De ce fait le regex ne fonctionne pas sur ma chaine reelle qui est du genre :
Code:
<br />
<br />

où je dois mettre le /n ?
 
WRInaute discret
Avant le regex tu peux transformer la chaine pour enlever le retour chariot:
Code:
$chaine=str_replace(CHR(10),"",$chaine);
 
WRInaute discret
Bonjour,
j'ai rajouté le bout de code mais ca ne marche toujours pas. les <br /> son toujours l'un au dessus de l'autre
 
WRInaute discret
En espérant que ceci fera l'affaire...
Code:
$chaine=preg_replace('`(<br />?[ \s]{0,}){1,}`','<br />',$chaine);
 
Discussions similaires
Haut