Thomas Schmieder: Replace mit Regular Expressions

Mahlzeit zusammen,

ich hab Da eine Frage, auf die ich keine Lösung finde. Ich versuche den Zeilenumbruch in einer Variablen zu entfernen und gegen etwas Anderes auszutauschen. Im Beispiel habe ich ein  <br /> genommen.

Leider klappt das nicht. Wo steckt der Fehler?

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <title>Replace mit Regular Expressions</title>

<script type="text/javascript" >

function cleantext()
{
  if(document.getElementById)
  {
    ausgabe = document.getElementById("textinput").value;
    ausgabe = ausgabe.replace(/(\n)/gi,"<br />");
    document.getElementById("textinput").value = ausgabe;
  }
}

</script>

</head>

<body>

<form>
  <textarea id="textinput" cols="35" rows="10"></textarea><br />
  <input type="button" name="btn_clean" value="ersetzen" onClick="cleantext();">
</form>

</body>
</html>

Liebe Grüße aus http://www.braunschweig.de

Tom

--
Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.
  1. Nochmal ein Hallo von mir,

    ...

    {
        ausgabe = document.getElementById("textinput").value;

    ausgabe = ausgabe.replace(/(\r\n)/gi,"<br />");

    ausgabe = ausgabe.replace(/(\n)/gi,"<br />");
        document.getElementById("textinput").value = ausgabe;
      }
    }

    ...

    <form>
      <textarea id="textinput" cols="35" rows="10"></textarea><br />

    ...

    Habs gefunden. Man muss also tatsächlich \r\n in einem Zug ersetzen. Wenn man nur \n ersetzt, bleibt ja \r drin stehen. beim Zurückspeichern in das Dialogobjekt (wahrscheinlich erst kurz vor dem Anzeigen) wird \r dann vom Browser automatisch wieder zu \r\n ergänzt.

    Andersherum auch.

    Grüße aus http://www.braunschweig.de

    Tom

    --
    Intelligenz ist die Fähigkeit, aus Fehlern Anderer zu lernen und Mut die, eigene zu machen.