Der Code hier macht schon FAST das was ich will aber auch nicht wirklich Wenn ich damit versuche alle {name} in dem Text durch einen Variablen wert zu ersetzen z.b. aus {name} $name zu machen geht das nur bedingt. Er überschreibt nach dem 1. Suchen und Ersetzen das 1. Ergebnis und macht dann den 2. Eintrag mit {} den er Findet, bei 3. macht er dann nur den 3. und nicht die ersten 2.... Wie kann ich das Problem lösen ?
Das was das Script ausgibt in dem Fall sieht dann so aus :
PHP-Code:
<?php
//öffnen und einlesen einer datei in einen string
function fileopen($file) {
//$file ="test.tpl";
$filename = "$file";
$handle = fopen ($filename, "r");
$content = fread ($handle, filesize ($filename));
fclose ($handle);
return ($content);
}
#######################################################################
$news = "PHP ist doch nicht scheisse";
$das = "das hier und jetzt !";
$file = fileopen("test.tpl");
preg_match_all("/{(.*)}/U", $file, $found);
$i = -1;
foreach ($found[0] as $v1) {
$i++;
//echo "$v1 --> ".$found[1][$i]."<br> ";
$output = str_replace("".$v1."", "".$found[1][$i]."", $file);
echo "$output<br>";
};
?>
Das was das Script ausgibt in dem Fall sieht dann so aus :
Code:
hier sind die -->news<--- eingetragen und hier {das}...ist ebenfalls eine gewaltige scheiße {ende} hier sind die -->{news}<--- eingetragen und hier das...ist ebenfalls eine gewaltige scheiße {ende} hier sind die -->{news}<--- eingetragen und hier {das}...ist ebenfalls eine gewaltige scheiße ende
Kommentar