echo $begrueszung;
Arbeitest du mit PHP4 oder mit PHP5? Der Unterschied liegt in der Art der Parameterübergabe bei Objekten. PHP4 übergibt eine Kopie, PHP5 eine Referenz.
Da du deine PHP-Version nicht angegeben hast, nehme ich an, dass du PHP4 verwendest.
$this->vars = preg_replace_callback("/($ausdurck)/si", array($this,'funktion'), $this->vars);
Mit PHP4 solltest du eine Referenz auf die aktuelle Instanz ( &$this ) bei der Callback-Übergabe angeben [1], damit die Methode der aktuellen Instanz aufgerufen wird, und damit darin auch die Eigenschaften der aktuellen Instanz verwendbar sind.
function funktion($werte,$ausgabe=1,$speichern=1)
Die Übergabe der beiden Extra-Parameter hat keinen Wert wenn sie von preg_replace_callback() aus aufgerufen wird. Wenn du extra Werte festhalten willst, solltest du das in Instanz-Eigenschaften (oder globalen Variablen) tun.
echo "$verabschiedung $name";
[1] Hier schimpft auch ein ausgeschaltetes allow_call_time_pass_reference nicht.