nuja, die Suche hatte ich auch schon bemüht. Allerdings kommen da so ca. 50 000 000 000 Einträge, die alle nur den Text aus der PHP-Doc kopiert haben.
Das hilft mir nicht weiter.
Mir ist es schon so ungefähr klar. Es wird die Funktion "replaceAll" aufgerufen, als Argument wir der gefundene Text (als Array) eingesetzt. Dabei ist "[0]" der gesamte gefundene Ausdruck, [1] der Teil in der ersten Klammer "(w+)", "[2]" der Teil in der zweiten und so weiter...
allerdings müßte ja dann dieses funktionieren. Macht es aber nicht:
PHP-Code:
class bla{
public function assign($name, $value)
{
$this->varList[$name] = $value;
}
public function parseString($string){
$pattern = '%\{\$(w+)\}%';
$string = preg_replace_callback($pattern, array(&$this, 'replaceVar'), $string);
return $string;
}
private function replaceVar($a)
{
return $this->varList[$a[1]]; // wie oben erklärt
}
}
$templ = new bla();
$templ->assign("foo","NICONICONICO");
echo $templ->parseString('Hallo Welt {$foo} testestestest.');
... sichtlich bin ich noch nicht dahinter gestiegen...
vielleicht kann es mir jemand besser erklären?
Danke Nico