ChrisB: str_replace

Beitrag lesen

Hi,

echo "<textarea>";
echo str_replace("<br />","\n",$Text);
echo "</textarea>";

Ich möchte, dass alle <br />, die in $Text enthalten sind durch ein \n ersetzt werden und dann RICHTIG innerhalb der Textarea angezeigt werden.

Warum sind denn *überhaupt* <br /> darin enthalten?

Speichere Daten immer in Rohform.
Die Umwandlung Zeilenumbruch in BR ist nur für die Ausgabe als Inhalt im Kontext HTML notwendig - also mache sie auch erst dann.

Gebe ich einen $Text vor, der folgendes beinhaltet: "ERSTE ZEILE<br /><br />DRITTE ZEILE", so wird das ganze allerdings mit 3 (!!) Zeilen zwischen den Wörtern ERSTE ZEILE und DRITTE ZEILE angezeigt. - In der DB ist trotzdem alles richtig. Wieso?

Vermutlich, weil dein Text nicht *nur* BR, sondern BR *und* Zeilenumbruch enthält. Das ist nämlich das, was nl2br macht - es *ersetzt* Zeilenumbrüche nicht durch BR, sondern fügt BR *hinzu*.

MfG ChrisB

--
“Whoever best describes the problem is the person most likely to solve the problem.” [Dan Roam]