Reguläre Ausdrücke / {foreach}

Norbertus

Mitglied
Hi,

ich schreibe gerade ein kleines Tempelate-System und komme an einer Stelle nicht weiter. In der Datei steht zum Beispiel nun:

{foreach from=folder}
<img src="#"><a href="#">{item}</a>
{/foreach}

Wie ist der Reguläre Ausdruck dafür, nun dieses {item} zu ersetzen?

Vielen Dank im Vorraus!
 
Da ich kein regex Profi bin kannst du mal davon ausgehen das es auch kürzer geht, aber funktionieren sollte es dennoch:
Code:
{foreach [^}]*}+[^{]*({item})+[^{]*{\/foreach}
 
Da ich kein regex Profi bin kannst du mal davon ausgehen das es auch kürzer geht, aber funktionieren sollte es dennoch:
Code:
{foreach [^}]*}+[^{]*({item})+[^{]*{\/foreach}

Vielen Dank, das werde ich morgen früh sofort ausprobieren. Mein Problem ist ebend, dass ich auch kein regex Experte bin:(

Daher nochmal dumm gefragt: Wenn ich nun noch die Bedingung from=folder hinzufügen will, damit man seperat verschiedene foreachs's parsen kann wird es nicht mit:

Code:
{foreach from=folder [^}]*}+[^{]*({item})+[^{]*{\/foreach}

gehen oder? Ich frag lieber direkt vorher, weil ich daran heute schonmal verzweifelte, also an dem Zusatz.
 
Wenn du das leerzeichen zwischen from=folder und [^}]* weg lässt würde es gehen.
Dann kannst du aber eigentlich auch gleich folgendes schreiben.
Code:
{foreach from=folder}[^{]*({item})+[^{]*{\/foreach}
 
Zurück