Das einzige was mir auffällt ist, dass du die Werte $name und $value direkt in den regulären Ausdruck einsetzt und hier könnte ein Slash drin sein. Probier mal die roten Zeilen nach dem
for einzufügen:
Code:
foreach($_POST as $name => $value) {
[color=red]$name = preg_quote($name);
$value = preg_quote($value);[/color]
$text = @preg_replace(...