Klappt leider wieder nicht :-(
Meinem bescheidenen Wissen nach operiert preg_replace nicht auf dem Eingangs-String, sonden gibt eine neue Zeichenkette zurück.
Also sollte:
$line = preg_replace($pattern, $replacement, $line);
funktionieren.