heyho
ich bastel grad nen einfaches template system für meine zwecke.
dabei brauch ich sachen die wiederhotl darstellt werden können.
beispiel ein menu:
solange nur ein "repeater" von mir definiert ist klappt das super.
sobald ich aber noch das submenu einfüge
wird alles erfasst von preg_match, was zwischen den äußersten repeater paaren ist.
der preg match sieht dabei recht simpel aus:
nur kann ich nicht verhindern, dass der zu viel aufnimmt, normal sollte doch das "?" verhindern, dass der match zu gierig ist. wieso klappt das nicht?
ich bastel grad nen einfaches template system für meine zwecke.
dabei brauch ich sachen die wiederhotl darstellt werden können.
beispiel ein menu:
PHP:
<div id="menu">
<ul>
{repeater='menu'}
<li>
<a href="{href}">{name}</a>
</li>
{repeater}
</ul>
</div>
solange nur ein "repeater" von mir definiert ist klappt das super.
sobald ich aber noch das submenu einfüge
PHP:
<div id="menu">
<ul>
{repeater='menu'}
<li>
<a href="{href}">{name}</a>
</li>
{repeater}
</ul>
</div>
<div id="submenu">
<ul>
{repeater='submenu'}<li><a href="{href}">{name}</a></li>{repeater}
</ul>
wird alles erfasst von preg_match, was zwischen den äußersten repeater paaren ist.
der preg match sieht dabei recht simpel aus:
PHP:
preg_match("~\{repeater='$name'\}(.*)?\{repeater\}~s",$this->html,$snipped);
nur kann ich nicht verhindern, dass der zu viel aufnimmt, normal sollte doch das "?" verhindern, dass der match zu gierig ist. wieso klappt das nicht?
Zuletzt bearbeitet: