J'essaie de faire correspondre un certain ensemble de balises dans un fichier modèle. Je veux cependant que les balises soient pouvant être imbriquées en elles-mêmes.PHP regex correspondant récursivement
Mon regex est le suivant: (avec/s)
<!-- START (.*?) -->(.*?)<!-- END \\1 -->
exemple Tag:
<!-- START yList -->
y:{yList:NUM} |
<!-- START xList -->
x:{xList:NUM}
<!-- END xList -->
<!-- CARET xList -->
<br>
<!-- END yList -->
<!-- CARET yList -->
En ce moment, les matchs résultat sera:
match de 0:
groupe (0) (Uniquement match)
<!-- START yList -->
y
<!-- START xList -->
x
<!-- END xList -->
<!-- CARET xList -->
<br>
<!-- END yList -->
groupe
(1)
yList
groupe
(2)
y
<!-- START xList -->
x
<!-- END xList -->
<!-- CARET xList -->
<br>
Je veux 2 matchs au lieu de 1 évidemment, l'ensemble de balises imbriquées ne correspond pas. Est-ce possible avec regex, ou devrais-je garder les résultats de regexing group (2), jusqu'à ce que je n'ai trouvé aucun nouveau match?
Intéressant. Pouvez-vous recommander des tutoriels d'analyse? –