So, ich nehme jetzt einfach den Weg drumrum, und arbeite mit 3 expressions:
Code:
$text = "blah blah {SOMEVAR}";
$text = preg_replace('##is', '_special_if_\\1', $text);
$text = preg_replace('#\{([a-z0-9\-_]*?)\}#is', 'BAR', $text);
$text = preg_replace('#_special_if_([a-z0-9\-_]+)#is', '', $text);
Das ergibt nach dem ersten replace das:
Code:
blah _special_if_FOO blah {SOMEVAR}
Nach dem zweiten:
Code:
blah _special_if_FOO blah BAR
Und nach dem dritten kommt das raus:
Funktioniert perfekt, vielen Dank fuer eure Hilfe
Greetz
alcaeus