Fluctuator
Mitglied
Hallo,
ich habe ein Script zum Parsen von Templates geschrieben. Das ersetzen der Variablen (Keys) funktioniert auch soweit, allerdings wird immer nur die letzte Variable (Key) ersetzt.
Hier erstmal der Queltext:
test.template.htm:
<html>
<head>
<title>{Titel}</title>
</head>
<body>
<table>
<tr>
<td>{Überschrift}</td>
</tr><tr>
<td>Hier kommt der {Inhalt} hin.</td>
</tr>
</table>
</body>
</html>
test.php:
<?php
$root = "test.template.htm";
$variable = array("Titel" => "Testtitel",
"Überschrift" => "Testüberschrift",
"Inhalt" => "Testinhalt");
function getTemplate($root)
{
$template = file_get_contents($root);
return $template;
}
foreach ($variable as $key => $value)
{
$assigned = preg_replace("/\{$key\}/", $value, getTemplate($root));
}
echo $assigned;
?>
Wenn ich jetzt test.php aufrufe, wird nur {Inhalt} durch Testinhalt ersetzt. {Titel} und {Überschrift} bleiben unverändert. Warum werden nicht alle Variablen (Keys) ersetzt?
MfG Fluctuator
ich habe ein Script zum Parsen von Templates geschrieben. Das ersetzen der Variablen (Keys) funktioniert auch soweit, allerdings wird immer nur die letzte Variable (Key) ersetzt.
Hier erstmal der Queltext:
test.template.htm:
<html>
<head>
<title>{Titel}</title>
</head>
<body>
<table>
<tr>
<td>{Überschrift}</td>
</tr><tr>
<td>Hier kommt der {Inhalt} hin.</td>
</tr>
</table>
</body>
</html>
test.php:
<?php
$root = "test.template.htm";
$variable = array("Titel" => "Testtitel",
"Überschrift" => "Testüberschrift",
"Inhalt" => "Testinhalt");
function getTemplate($root)
{
$template = file_get_contents($root);
return $template;
}
foreach ($variable as $key => $value)
{
$assigned = preg_replace("/\{$key\}/", $value, getTemplate($root));
}
echo $assigned;
?>
Wenn ich jetzt test.php aufrufe, wird nur {Inhalt} durch Testinhalt ersetzt. {Titel} und {Überschrift} bleiben unverändert. Warum werden nicht alle Variablen (Keys) ersetzt?
MfG Fluctuator