Petite question au sujet des expressions régulières. Pour l'écriture d'un parseur, je souhaite supprimer des balises <br /> qui se mettent dans une liste <ul> ou <ol>, ce qui rend le code html non valide.
Exemple :
Code html : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Valide : <ul> <li>elem 1<br />test</li> <li>elem 2</li> </ul> Non Valide : <ul> <br /> <li>elem<br />test</li> <li>elem</li> </br> </ul>
J'ai trouvé l'expression régulière pour supprimer les <br />, mais comment faire pour ne les supprimer que dans les balises <ul>...</ul> ou <ol>...</ol> ? J'ai essayé plusieurs codes mais ça ne marche pas.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5 // Supprime tout les <br /> $text = preg_replace('`(^|\W)(<br />)(\W|$)`si','$1 $3', $text); // Ne marche pas $text = preg_replace('`<ul>(^|\W)(<br />)(\W|$)</ul>`si','$1 $3', $text);
Partager