Textarea zeigt \r\n statt Umbruch

Zenti

Erfahrenes Mitglied
Hallo,

wie der Titel schon sagt, habe ich das Problem, dass meine Textareas Umbrüche nicht mehr anzeigen. Ich lese diese mit AJAX aus, speicher ich sie in der Datenbank und geb sie wieder in der Textarea aus. Lese ich die Textareas nun mit mysql_real_escape_string aus und speicher sie in der Datenbank ab und geb sie wieder aus, erhalte ich bei der Ausgabe "rn", Wenn ich die Umbrüche VOR dem abspeichern durch einen Platzhalter ersetze und diesen bei der Ausgabe wieder zu \r\n umwandel, zeigt er mir in der Textarea \r\n statt dem Umbruch an. Hat jemand ne Idee, wie ich dieses Problem lösen kann.

Gruß
 
HTML:
<textarea id = "test" onsubmit = "this.value = this.value.replace(/\n/g,'<br/>')"></textarea>

PHP:
// Mit dem folgenden Befehl setze ich das <br/> wieder zurück.
	$string=str_replace('<br/>','\r\n',$string);

Danach wird mir in der Textarea: \r\n angezeigt, statt einem Umbruch. Hab auch schon Befehle wie html_entity_decode probiert, bringt auch nix.

Das einzige, was geklappt hat, war mittels JavaScript die Textarea zu füllen.

HTML:
document.getElementById("test").value = value;

ABER, da ist mir aufgefallen, dass JavaScript die \r\n als echte Umbrüche nimmt. Das heißt, dass er einen Umbruch in den Quellcode einbaut. Bei Firefox kein Problem, beim Internet Explorer führt das zum Absturz.
 
So, hab das Problem gelöst. Für alle, die ein ähnliches Problem haben oder haben sollten, hier meine Lösung:

HTML:
// Vor dem Absenden der Textarea sollte mittels replace alle Umbrüche ersetzt werden
//
this.value.replace(/\r\n|\n|\r/gi,'<br>');

// Vor dem ausgeben in der Textarea, sollten die Zeichen wieder zurück gesetzt werden
.replace(/<br>/gi, '\r\n')

Also, bei mir klappt er soweit wunderbar^^
 
Zurück