Bonsoir,

J'ai des chaines de caractères qui contiennent une certain nombre de balises HTML, mais dont les sauts de lignes sont des \n.
Je veux remplacer mais \n par des <br /> = Facile.

Par contre dès que je rencontre des balises <ul><li></li></ul> cela met la pagaille en ajoutant des <br /> là on il n'en faut pas ...

ex j'ai :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
hum hum
<ul>
	<li>bla1</li>
	<li>bla2</li>
</ul>
tagada
J'obtiens !
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
hum hum<br />
<ul><br />
	<li>bla1</li><br />
	<li>bla2</li><br />
</ul><br />
tagada<br />
alors que je veux

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
hum hum<br />
<ul>
	<li>bla1</li>
	<li>bla2</li>
</ul><br />
tagada<br />
J'ai tenté avec l'expression
Code : Sélectionner tout - Visualiser dans une fenêtre à part
$text = preg_replace("#<ul>(.*?)</ul>#sU", "<ul>".str_replace("<br />","\n","$1")."</ul>", $text);
ci-après en la combinant avec un str_replace mais cela ne fonctionne pas ... Une idée pour me décoincer ?



Merci