Toon posts:

[php] template parse prob

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik ben bezig met een parse engine voor mijn site. deze wil ik template based maken.

NU heb ik bijv in een template file de volgende regels:

code:
1
2
3
{_TABLE:poll_}

{_TABLE:hits_}


Deze file wordt per regel doorlopen en de tags worden vervangen voor de bijbehorende template files.

Stel dat ik nu doe:
PHP:
1
2
3
$module = preg_replace("/{_TABLE:(.*?)_}/e",'$1', $line);

print("$module");


Dan krijg ik de volgende regel terug:
code:
1
poll hits


Hij pakt dus duidelijk alles wat tussen de buitenste tags staat, hoe zorg ik er nu voor dat het de bijelkaarhorende tags gebruikt?

  • Rense Klinkenberg
  • Registratie: November 2000
  • Laatst online: 09-08 19:19
't kan aan m'n alcoholpromilage liggen, maar je laatste zin komt een beetje onduidelijk over hier.

Wat je waarschijnlijk wilt, is goed te doen met de 'e' modifier van de PRCE regex van php (preg_replace()). Je zou ook kunnen kijken naar preg_replace_callback(), maar daar heb ik geen ervaring mee.

  • Grum
  • Registratie: Juni 2001
  • Niet online
1/ ik zie geen 'bijbehorende tags'
2/ de code doet precies wat jij bedoelde (in de code that is :D)
3/ als het perse op volgorde moet ... dan is een stack-based aanpak zeer handig. (zie vele topics over dit onderwerp :D)

Verwijderd

Topicstarter
met tags bedoel ik deze dingen:
code:
1
2
3
4
{_TABLE:poll_}
***
{_TABLE:hits_}
           ***


Hij pakt dus alles wat tussen de *** tags staan.

Ik zal eens naar die stack-based aanpak kijken. Thankx,