Bonjour à tous,
Je cherche à parser un string qui contient la sortie d'une page HTML. Mon but est de retrouver les <ul> qui sont elles-mêmes contenues dans des <ul> pour leur ajouter des <li></li> englobant (le WYSIWYG utilisé pour générer le HTML ne respecte pas la norme).
En résumé, j'ai quelque chose comme ça :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22 <ul> <li>1 zone de rencontre en projet (env 300 hab) :</li> <ul> <li>Communication : posters, lettre, flyers</li> <li>Sensibilisation : radar pédagogique</li> <li>activités participatives avec les habitants :</li> <ul> <li>enquête stationnement,</li> <li>une réunion de lancement,</li> <li>un atelier-promenade,</li> <li>et 2 stands-projet.</li> <li>Réunions publiques.</li> </ul> </ul> <li>2 rues pour enfants le 15/06/11 et 5/10/11 soit :</li> <ul> <li>env 135 adultes et 250 enfants participants</li> <li>env 25/30 personnes impliquées</li> <li>env une dizaine dactivités proposées</li> </ul> </ul>
et je souhaite ça :
J'ai regardé du côté des RegEx, c'est assez compliqué et pas forcément adapté. Du coup je me tourne vers le parsing via la classe DOM Document de PHP mais je ne vois pas comment à la fois faire ma recherche de tags (<ul> fille dans mon cas) et en suivant modifier ces tags...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28 <ul> <li>1 zone de rencontre en projet (env 300 hab) :</li> <li> <ul> <li>Communication : posters, lettre, flyers</li> <li>Sensibilisation : radar pédagogique</li> <li>activités participatives avec les habitants :</li> <li> <ul> <li>enquête stationnement,</li> <li>une réunion de lancement,</li> <li>un atelier-promenade,</li> <li>et 2 stands-projet.</li> <li>Réunions publiques.</li> </ul> </li> </ul> </li> <li>2 rues pour enfants le 15/06/11 et 5/10/11 soit :</li> <li> <ul> <li>env 135 adultes et 250 enfants participants</li> <li>env 25/30 personnes impliquées</li> <li>env une dizaine dactivités proposées</li> </ul> </li> </ul>
Avez-vous une idée?
Merci pour vos retours !
Nicolas
Partager