Toon posts:

[PHP] erregi

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hoi.,

Ik ben bezig met een template engine.
dit lukt aardig.
Ik loop alleen tegen een probleem op: Blocks

Ik wil graag dat ik dit kan:

De template file: template.tpl
<HTML>
<HEAD>
<TITLE>[TITEL]</TITLE>
</HEAD>
<BODY>
<TABLE>
[TEXT]
<TR>
<TD>[TABTITEL]</TD>
<TD>[NAAST]</TD>
</TR>
[/TEXT]
</TABLE>
</BODY>
</HTML>


ik lees template.tpl in. Hij haalt de data dus uit template.tpl, en zet deze in de string: $output.
Het parsen van [TITEL] is geen probleem.
Maar ik wil graag dat ik vanaf [TEXT] tot [/TEXT] die tekst meerdere malen kan paarsen!


[TEXT]
<TR>
<TD>[TABTITEL]</TD>
<TD>[NAAST]</TD>
</TR>
[/TEXT]

dit moet ie dus heel vaak paarsen, en daarna moet hij de [TEXT] en de [/TEXT] tags weg halen, en dan de boel in $output zetten.

Ik kom er niet uit, !


Help!

Verwijderd

Ik begrijp je niet.
Waarop moettie dan parsen?

Verwijderd

Topicstarter
Op zondag 30 september 2001 12:30 schreef daniel_hoenderdos het volgende:
Ik begrijp je niet.
Waarop moettie dan parsen?
kijk ik wil een template engine maken, hij moet eerst alle [tag] vervangen, en dan moet ie het echo'en

snapt iemand me?? :?

  • Prutser_IA
  • Registratie: Januari 2000
  • Laatst online: 03-06-2021

Prutser_IA

<*{{{><

Ik snap volgens mij het probleem..
En waarschijnlijk heb ik een lekker omslachtige oplossing.
PHP:
1
2
3
4
5
6
<?
$text = eregi_replace("\\[text\]([^[]*)\\[/text\]","\\1>",$contents); 
    $text =eregi_replace("[TABTITEL]","je tabtitel",$text); 

$contents = eregi_replace("\\[text\]([^[]*)\\[/text\]","$text",$contents); 
?>

FF snel uitleggen; bij de eerste eregi, neem hij alles wat tussen [text] en [/text] staat.. Datgeen parst tie dan, en met de laaste replace zet hij de gepaste text weer terug in de huidige contents...

Tis maar een ideetje hoor :P

42


Verwijderd

Topicstarter
Op zondag 30 september 2001 14:23 schreef Prutser het volgende:
Ik snap volgens mij het probleem..
En waarschijnlijk heb ik een lekker omslachtige oplossing.
PHP:
1
2
3
4
5
6
<?
$text = eregi_replace("\\[text\]([^[]*)\\[/text\]","\\1>",$contents); 
    $text =eregi_replace("[TABTITEL]","je tabtitel",$text); 

$contents = eregi_replace("\\[text\]([^[]*)\\[/text\]","$text",$contents); 
?>

FF snel uitleggen; bij de eerste eregi, neem hij alles wat tussen [text] en [/text] staat.. Datgeen parst tie dan, en met de laaste replace zet hij de gepaste text weer terug in de huidige contents...

Tis maar een ideetje hoor :P
aha ik krijg nu een idee hoe ik het ga doen, maaruh, bedankt, want ik deed wat jij zo makkelijk deed veel te moeilijkj, hardstikek bedankt

Verwijderd

Topicstarter
shit kom er nog niet uit!!

Ik wil dus dit:

[TEXT] <-- moet blijven staan
<TR>
<TD>[TABTITEL]</TD> <-- moet veranderen
<TD>[NAAST]</TD> <-- moet veranderen
</TR>
[/TEXT] <-- moet blijven staan

Nu wil ik doormiddel van een while loop het volgende doen:
Uitlezen wat er tussen [TEXT] en [/TEXT] staat.
Deze text replacen, dus [TABTITEL] vervangen in 'Hoi' en [NAAST] vervangen in pietje

En dan de tweede keer moet ie [TABTITEL] vervangen in 'GOT'
en [NAAST] vervangen in 'Stoel'

Dan moet ie het printen.


Iemand enig idee hoe het moet, ik moet het echt weten, please help me!
Pagina: 1