Hallo!
Vielen Dank für deine Antwort. Ich habe das schon seit einiger Zeit gemacht. Jetzt bin ich zu folgendem Ergebnis gekommen:
function replace_tags($tags = array()) {
if (sizeof($tags) > 0)
foreach ($tags as $tag => $data) {
$this->page = eregi_replace("{" . $tag . "}", $data,
$this->page);
echo $data;
}
else
die("No tags designated for replacement.");
}
Wenn die auskommentierte Zeile auskommentiert ist, dann funktioniert das Einbinden von viel Text mittels einer Variable. Wenn sie nicht auskommentiert ist, dann gibt es eine Fehlermeldung. Das ist für mich ein Rätsel...
Die Zeile $data = (file_exists($data)) ? $this->parse($data) : $data; soll doch überprüfen, ob die es eine Datei gibt, die den Inhalt der Variable $data als Inhalt hat. Das wäre zumindest logisch ;-) Ich wüsste gerne wie diese Schreibweise mit dem Fragezeichen und Doppelpunkt heißt, damit ich googeln kann, was sie bedeutet. Bei neueren Scripts trifft man diese Schreibweise oft, aber bis jetzt habe ich kein Tutorial gefunden, das auf diese Schreibweise eingeht. Wie nennt man das?
Hier schreibe ich jetzt nochmal den kompletten, aktuellen Quelltext rein, damit eventuell copy&paste einfacher ist. Schonmal vielen Dank für deine Hilfe!
Die index.php. Der Inhalt von $content stammt von Wikipedia und ist nur ein Platzhalter-Text, um mit langem Code zu experimentieren.
<?php
include "class.php";
$content = "
Akrotiri ist eine archäologische Ausgrabungsstätte im Süden der griechischen Insel Santorini (auch Thera). Im Jahr 1967
entdeckte der Archäologe Spyridon Marinatos eine bronzezeitliche Stadt, die in der Blüte ihrer Existenz durch einen
Vulkanausbruch verschüttet und so für über 3500 Jahre verborgen wurde. Der exzellente Erhaltungszustand erlaubt Einblicke
in die Sozial- und Wirtschaftsgeschichte der Bronzezeit und hat auch herausragende Fresken aus dieser Zeit bewahrt. Die
Ausgrabungsstätte ist nach einem heutigen Dorf benannt. Der Ort Akrotiri liegt oberhalb der Ausgrabung auf einem Hügel
aus den ältesten Vulkangesteinen der Insel und wird durch die Ruine einer Burganlage aus der Zeit der venezianischen
Herrschaft (1204–1537) geprägt.
";
$page = new Page("template.html");
$page->replace_tags(array(
"main" => "$content"
));
$page->output();
?>
Die class.php:
<?php
class Page
{
var $page;
function Page($template = "template.html") {
if (file_exists($template))
$this->page = join("", file($template));
else
die("Template file $template not found.");
}
function parse($file) {
ob_start();
include($file);
$buffer = ob_get_contents();
ob_end_clean();
return $buffer;
}
function replace_tags($tags = array()) {
if (sizeof($tags) > 0)
foreach ($tags as $tag => $data) {
$this->page = eregi_replace("{" . $tag . "}", $data,
$this->page);
}
else
die("No tags designated for replacement.");
}
function output() {
echo $this->page;
}
}
?>
Und die template.html:
PLATZHALTER{main}PLATZHALTER
Danke schön für deine Bemühungen!
ciao, ww
--
Schäuble:
"Wir können alles. Außer Rechtsstaat."