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 :
1 2 3 4 5 6 7
|
hum hum
<ul>
<li>bla1</li>
<li>bla2</li>
</ul>
tagada |
J'obtiens !
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
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
$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
Partager