Sebastian Becker: \n und \r aus String entfernen außer zwischen bestimmten Tags

Beitrag lesen

Hi, Stefan,

Ich möchte in einem String alle Zeilenumbrüche (\n) durch ein Leerzeichen ersetzten und alle Wagenrückläufe (\r) entfernen, außer zwischen den HTML-Tags <pre> und </pre> bzw. <textarea> und </textarea>.

Ich verstehe die prinzipielle Aufgabenstellung und wundere mich, daß es mit regulären Ausdrücken nicht funktioniert.

Woher kommt denn der String? Einfacher und sicherer wäre es vielleicht, wenn man einzelne Teilstrings unterschiedlich behandeln würde.

Das Entfernen ginge dann mit

$string = ereg_replace("(\r\n|\n|\r)","",$string);

Falls <pre>, <textarea> </pre> und </textarea> jeweils nur einmal vorkommen, könntest Du den String ja ggf. an genau dieser Stelle aufsplitten.

Grüße,

Sebastian Becker