Laut meinen Bemühungen der Recherche müsste diese Zeile vollkommen richtig sein,
$zeile = preg_replace ("/(define('$schluessel[$z]', ')(.*)(');)/i","\1$werte[$z]\3",$zeile);
aber es erfolgen einfach keine Änderungen. Und es kann nur an dieser Zeile hapern.
Mal sehen, vielleicht find ich mit Yoga oder so doch noch die Erleuchtung...