• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Zeilenumbruch <textarea>

Status
Für weitere Antworten geschlossen.

burli001

Mitglied
HaLLo.

Ich hab eine kurze Frage, ist es möglich, dass bei einer <textare> automatisch ein <br> gesetzt wird, sobald ein Zeilenumbruch gemacht wird?
 
Ich halte nicht sonderlich viel von nl2br().

Soweit ich weiß, gibt es keine Funktion, die das Gegenteil bewirkt. Also muss man zwangsläufig auf eine replace-Funktion zurückgreifen. Dabei entsteht dann (zumindest bei mir) desöfteren das Problem, dass zurück-umgewandelte Zeilenbrüche in textarea's doppelt angezeigt werden.

Daher bevorzuge ich folgendes:
PHP:
$string = str_replace("\n", '<br />', $string);
$string = str_replace('<br />', "\n", $string);
Dabei sind die doppelten Anführungszeichen zu beachten. Diese müssen stehen, ein '\n' wird nicht als Zeilenbruch erkannt.

Mit HTML ist das nicht möglich.
 
wenn dir hier jeder ein PHP-beispiel gibt, wirds mit HTML nicht gehen.
HTML ist für sowas gar nicht gedacht.

Nils aka XraYSoLo
 
THEORETISCH ginge es mit JS, der große Nachteil wäre, dass es clientseitig ist.
Aber was willst du mit einem Formular wenn du es nicht auswerten kannst?
Code:
<script type="text/javascript">
  //<![CDATA[
    function nl2br(text) {
      document.getElementById('eingabe').value = text.replace("/\\n/", "<br />");
    }
  //]]>
</script>
[...]
<form action="" method="get" onsubmit="nl2br(document.getElementById('eingabe').value)">
[...]
<textarea id="eingabe" rows="5" cols="30"></textarea>
Ich glaub da sind noch nen paar Fehler drin, bin aber grad zu faul das zu testen :P
 
Danke, funktioniert.

Ne, doch nicht.

Ich habs so probiert

Code:
function nl2br(text) 
{
      document.getElementById('channelbeschreibung').value = text.replace(/\n/g, ' -2- ');
    }

Wenn ich z.b.

"Hallo
du"

schreib, kommt:

"hallo
-2- du"

Wie ist es möglich, dass kein Zeilenumbruch erfolg, aber das -2- kommt, also z.b. so:

"hallo -2- du".
 
Zuletzt bearbeitet:
Status
Für weitere Antworten geschlossen.
Zurück
Oben