Hey,
ik ben bezig met het schrijven van een template parser, maar als ik nu 1 block meerder malen wil aanroepen, dus geen verschillende, word er gewoon weg maar 1 block getoont.
Ik denk zelf dat ik de blocks in een array moet zetten en dat het dan werkt, alleen heb ik geen idee hoe ik dit moet aanpassen, hopelijk is er iemand die me hierbij wil helpen:
en
Alvast bedankt! Stef
ik ben bezig met het schrijven van een template parser, maar als ik nu 1 block meerder malen wil aanroepen, dus geen verschillende, word er gewoon weg maar 1 block getoont.
Ik denk zelf dat ik de blocks in een array moet zetten en dat het dan werkt, alleen heb ik geen idee hoe ik dit moet aanpassen, hopelijk is er iemand die me hierbij wil helpen:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function block($block)
{
$this->bAangeroepen = 1;
if(preg_match("/<!-- START BLOCK : " . $block . " -->(.*?)<!-- EINDE BLOCK : " . $block . " -->/s", $this->inhoud, $matches))
{
$this->bAangeroepen++;
}
else
{
echo "Block '" . $block . "' is niet gevonden!";
$this->inhoud = preg_replace("/<!-- START BLOCK : (.*?) -->(.*?)<!-- EINDE BLOCK : (.*?) -->/s", "", $this->inhoud);
}
} |
en
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
| function Plaats()
{
if($this->bAangeroepen == 0)
{
$this->inhoud = preg_replace("/<!-- START BLOCK : (.*?) -->(.*?)<!-- EINDE BLOCK : (.*?) -->/s", "", $this->inhoud);
}
elseif($this->bAangeroepen > 0)
{
$this->inhoud = preg_replace("/<!-- START BLOCK : (.*?) -->/i", "", $this->inhoud);
$this->inhoud = preg_replace("/<!-- EINDE BLOCK : (.*?) -->/i", "", $this->inhoud);
}
echo $this->inhoud;
} |
Alvast bedankt! Stef
[ Voor 60% gewijzigd door S_tef op 29-05-2005 17:39 ]