wucher wichtel: Problem gefunden aber noch nicht gelöst

Beitrag lesen

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) {  
  
        //$data = (file_exists($data)) ? $this->parse($data) : $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) {  
  
        //$data = (file_exists($data)) ? $this->parse($data) : $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."