Beste leden ik heb hier dus een hele simpele template parser:
------ index.tpl
<html>
<head>
<title>{titel}</title>
</head>
<body>{inhoud}</body>
</html>

------ index.php
<?php
include("class.template.php");
$file = "index.tpl";
$titel = "Voorbeeld";
$Template = new Template;
$Template->LoadTemplate($file);
$Template->Replace("titel", $titel);
$Template->Replace("inhoud", "Een simpel voorbeeld.");
$Template->PrintTemplate();
?>

------ class.template.php
<?php
class Template {
var $page = "";
var $load = false;

function LoadTemplate($url){
$this->page = "";
if(file_exists($url)){
$this->page = file_get_contents($url);
$this->load = true;
}else{
$this->load = false;
$this->page = "Couldn't load the template file!";
}
}

function Replace($var, $what){
if($this->load){
$var = '{' . $var . '}';
$this->page = str_replace($var, $what, $this->page);
}
}

function PrintTemplate(){
echo($this->page);
}
}
?>

Lekker klein,
nou wil ik strings gaan toevoegen die verplaatst worden:
bijvoorbeeld {poll} wordt vervangen door inc/poll.php, {datum} wordt vervangen door inc/datum.php. Ik heb dit geprobeerd met fopen maar krijg de hele tijd Resource id #4 fouten? Ik heb totaalgeen idee wat ze betekenen.
Maar ho moet ik dat doen zodat {iets} ook kan worden ervangen door een bestand die dan wordt ingevoegd ipv tekst?

bvd
robert
Ik zit ook met het probleem dat als je een file includet dat hij een '1' weergeeft. Is hier inmiddels al een oplossing voor gevonden ofzo?
@ Stijn: je haalt een post van april vorig jaar naar boven. Je kunt beter een nieuw topic openen met een klein stukje code zodat we kunnen kijken.

Reageren