Hallo Christoph,
ich habe an einem Script gebastelt, das erstmal mit Windows, Apache 2.0.54 und PHP 5.0.4 problemlos lief. Jetzt habe ich es auch mit FreeBSD, Apache 2.0.54 und PHP 5.0.4 aufgerufen, und plötzlich beschwert es sich über "Call to undefined function preg_replace()".
In so einem Fall solltest einfach mal nachschauen ob für die Funktionsgruppe zu der die vermisste Funktion gehört irgendwelche Anforderungen für ihre Existenz hat. In dem Fall sind das - wie wahsaga schon schrieb - die Reguläre Ausdrücke Funktionen. Die hier interesanten Hinweise stehen dann unter "Anforderungen" bzw. "Installation".
Jetzt wurde ein kurzes Nachsehen doch nötig. Siehe da, das Handbuch sagt mir: "Stellen Sie sicher, dass Ersatz gültigen PHP-Code erzeugt, weil sich PHP sonst über einen Syntaxfehler (parse error) in der Zeile beschwert, die den Aufruf von preg_replace() enthält."
Der Satz bezieht sich auf den Modifikator 'e' und hat mit deinem Problem vermutlich nichts zu tun.
Grüße aus Nürnberg
Tobias