Templates & ereg_replace()

K

Kebb

So ... ich entschuldige mich erstmal falls das Thema so wie ich es hier schreibe schonmal behandelt wurde!

Ich versuche gerade ein Template-System zu erstellen und bin folgendermaßen rangegangen: (Beispiel)

PHP:
 $sitetitle = "Test";

 function read_file($template){
  $file = fopen($template, "r");
  while (!feof($file)) {
   $file_b = $file_b . fgets($file, 4096);
  }
  fclose ($file);

  return $file_b;
 }

 $tpl = read_file("template.html");

 $tpl = ereg_replace("{-Seitentitel-}","$sitetitle", $tpl);

 if ($sitetitle == "Test"){
  $tpl = ereg_replace("\{-WennTitelTest-}}? ([^\[]*) ?\{{-WennTitelTest-}", "\\1", $tpl);
 }
 else {
  $tpl = ereg_replace("\{-WennTitelTest-}}?([^\[]*) ?\{{-WennTitelTest-}", "", $tpl};
 }

Dieses letzte ereg_replace() hatte ich mir aus einem gebildet gehabe, welche ich mir mal irgendwo kopiert hatte ... ich versteh das leider jarned, z.B. was diese vielen Zeichen bedeuten sollen zwischendrin :confused:

Frage 1: Gibt es da irgnedwo eine Erklärung zu?

Dann funktioniert das obere ereg_replace() eigentlich fehlerfrei, aber beim zweiten siehts komisch aus, vorallem, wenn ich es mehrmals verwende oder verschachtle ... wenn ich z.B. so machen:

PHP:
 {-WennTitelTest-}} Ja der Titel ist "Test" {{-WennTitelTest-} <br />
 {-WennTitelTest-}} {-WennTitelTest-}} Immernoch "Test" {{-WennTitelTest-} {{-WennTitelTest-}

... erhalte ich:

PHP:
 Ja der Titel ist "Test" {{-WennTitelTest-}
 {-WennTitelTest-}} {-WennTitelTest-}} Immernoch "Test" {{-WennTitelTest-}

Frage 2: Wie ginge das umzusetzen?
Frage 3: Mach ich grundsätzlich was falsch? ^^

So .. hoffe ihr verstanden habt mich ^^

Vielen Dank!
 
Zuletzt bearbeitet von einem Moderator:
Ich versuche Wechsel-Layouts zu realisieren, d.h. nicht nur das CSS sondern das komplette Layout und zwar ohne jedesmal in den PHP-Code eingreifen zu müssen. Dazu muss ich mit Templates arbeiten, welche sich PHP dann holt und seinen Part dazubastelt, z.B:

Code:
<table>

{-NewsEintrag-}}

 <tr>
  <td>
   {-NewsDatum-}<br />
   {-NewsTitel-}<br />
   {-NewsText-}
  </td>
 </tr>

{{-NewsEintrag-}

</table>
 
Zurück