Recherche du bon pattern pour une expression régulière
Bonjour à tous,
Je suis à la recherche du bon pattern pour expression régulière.
Voilà ce que j'ai fait pour le moment :
Code:
1 2 3 4
|
$reg = '#(<li class[^>]+>)(<a href[^>]+>)(.*)(</a>)(</li>)#iD';
$rep = $before.'$1$2$3$4$5'.$after;
$str = preg_replace($reg, $rep, $str); |
qui fonctionne très bien et qui me permet d'ajouter un élément soit avant, soit après mon élément li.
Mon problème est que cette liste me sert à générer dynamiquement un menu et lorsqu'il y a des éléments de sous menu on intègre (Wordpress) une balise ul à l'intérieur de la balise li de l'élément parent de menu.
Du coup il faudrait quelque choses comme ça :
Code:
1 2
|
$reg = '#(<li class[^>]+>)(<a href[^>]+>)(.*)(</a>)(<ul><li class[^>]+><a href[^>]+>.*</a></li></ul>)(</li>)#iD'; |
mais ça ne fonctionne pas.