Hiho!
Hab vorhin mal schnell angefangen ne Funktion zu proggen, damit ich in meinen Template-Dateien solche Sachen wie {name} gegen z.b. ne Variable tauschen kann. Ist aber natürlich nervig, wenn man jede zu ersetzende Stelle einzelnd angeben muss usw. Also will ich das ganze jetzt so machen, dass ich die ganzen zu ersetzenden Platzhalter in einen String packe und mit nem Trennzeichen (in diesem fall ";;") trenne und das gleiche mit den Texten, welche die Platzhalter überschreiben. Noch schön in ne Funktion verpackt dann schauts bei mir so aus ^^ :
Einzigstes Problem: Funktioniert nicht ...wo liegt der Fehler? ...ich tippe mal auf die Schleife
jo, und so sollte es dann aufgerufen werden:
...bei mehreren zu ersetzenden Platzhaltern hab ichs mir dann so vorgestellt:
naja, müssts halt nur noch funktionieren ^^
Wäre dankbar, wenn Ihr da ne Lösung wisst
Hab vorhin mal schnell angefangen ne Funktion zu proggen, damit ich in meinen Template-Dateien solche Sachen wie {name} gegen z.b. ne Variable tauschen kann. Ist aber natürlich nervig, wenn man jede zu ersetzende Stelle einzelnd angeben muss usw. Also will ich das ganze jetzt so machen, dass ich die ganzen zu ersetzenden Platzhalter in einen String packe und mit nem Trennzeichen (in diesem fall ";;") trenne und das gleiche mit den Texten, welche die Platzhalter überschreiben. Noch schön in ne Funktion verpackt dann schauts bei mir so aus ^^ :
Code:
function template($file, $search, $replace) { $file = file($file); $search = explode(';;', $search); $replace = explode(';;', $replace); $searchcount = count($search); $replacecount = count($replace); IF ($searchcount != $replacecount) { echo "Hinweis: Arrays haben nicht gleich viele Elemente."; } FOR($i = 0; $i >= $searchcount; $i++) { $file = str_replace($search[$i], $replace[$i], $file); } $file = implode($file); echo $file; }
jo, und so sollte es dann aufgerufen werden:
Code:
template('test.htm','{name}','Mister X');
Code:
template('test.htm','{name};;{rollmops}','Mister X;;Fisch');
Wäre dankbar, wenn Ihr da ne Lösung wisst
Kommentar