Bonjour,
Dans le but d'élaboré un petit moteur de template, j'ai besoin d'identifier des balises sous la forme
<!-- BEGIN | END nom_balise -->
J'ai donc 2 problèmes :
D'abord, existe t-il un modificateur (il me semble que oui, mais impossible de le retrouver) qui fasse en sorte que le preg_match_all me renvoie les résultat ordonné en allant du résultat le plus profond vers le moins profond. En d'autre terme, récupérer d'abord les balises les plus imbriqués vers les moins imbriqués.
Ensuite, vous allez me dire que c'est pas utile si on me donne une réponse à la 1er question, mais j'aimerai savoir s'existe un moyen de définir une "égalité" dans une regex ? Je m'explique. Si j'ai une séquence de balises
et une regex
Code : Sélectionner tout - Visualiser dans une fenêtre à part <!-- BEGIN a --><!-- BEGIN b --><!-- END b--><!-- END a -->
Il va me trouver une balise ouvrante a et pour une fermante b... Est-il possible de faire en sorte de lui demander à ce que les [_a-zA-Z0-9]+ soient identiques ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part $reg = "/[ \t]*<!--\s+BEGIN [_a-zA-Z0-9]+\s+-->\s*?\n?(\s*.*?\n?)\s*<!--\s+END [_a-zA-Z0-9]+\s+-->\s*?\n?/sm";
En vous remerciant !
Partager