dedlfix: Backslash entfernen

Beitrag lesen

Tach!

Ich möchte mit preg_replace einen Backslash vor ' bzw " entfernen.

Warum nimmst du da nicht stripslashes()? Diese Backslashes kommen doch nur bei (immer noch aktivierten) Magic Quotes vor.

$mail_text = preg_replace('/\\'/', "'", $mail_text);
$mail_text = preg_replace('/\\"/', '"', $mail_text);

Außerdem braucht man für solch simple Ersetzungen keine Funktionen für regulären Ausdrücke. str_replace() oder strtr() sind da kostengünstiger zu haben. Und sie haben auch nicht das Problem, dass man zwei Kontextwechsel beachten muss (und dafür eine Tonne Backslashes braucht), sondern nur einen.

Und kann mir jemand erklären wie diese vielen \ zu erklären sind.

Das PHP-Handbuch kann das. Kapitel zu den Strings, ''- und ""-Form, und die Seite zu preg_replace().

dedlfix.