Der Martin: Zeilenumbruch in Textareas

Beitrag lesen

Hallo,

naja... eigentlich wollte ich die Originalscripts meiner neuen Site nit zeigen.. aber ihr zwingt mich ja förmlich.

aber doch nicht alles, sondern nur das, was mit dem Problem zu tun hat ...

Der Script mit den Formularen sieht so aus:

Hm, ich kann mich irren - aber für mich heißt es immer noch DAS Script.

[viel überflüssiger Code]
<textarea type="text" name="inhalt" rows="10" cols="50" wrap="physical"></textarea>

Das ist schonmal entscheidend: Kein versteckter Inhalt, keine Leerzeichen oder Zeilenumbrüche. Übrigens hat textarea kein type-Attribut wie die anderen input-Elemente, da sich der Typ schon aus dem Elementnamen ergibt.

[noch mehr überflüssiger Code]
Und der news.php so:

$inhalt=$_REQUEST['inhalt'];
[...]
      echo "<div align="center"><font size="+2"><u>
        <b>$titel</b></u></font></div><br>\n
        <font size="+1"><div align="center"><b>$utitel</b>
        </div><br>\n$inhalt</font>";

Dein eingegebener Text wird also genau so, wie er in der textarea eingegeben wurde, auch weiterverarbeitet, in diesem Fall einfach mit einem echo wieder ausgegeben.

Wenn man bei der textarea

Hallo
Hallo
Hallo
Hallo
Hallo
Hallo
Hallo

eingibt,
koommt

Hallo Hallo Hallo Hallo Hallo Hallo Hallo

in news.php raus.

Natürlich. Schau dir mal den Quelltext im Browser an: Was steht hinter deinem div-Element als Wert von $inhalt? Wie werden Zeilenumbrüche im Quelltext von HTML interpretiert? Na also.

Wie kann ich also machen, dass der Zeilenumbruch "anerkannt" wird?

Du suchst die Funktion nl2br().

Ciao,
 Martin

--
Butterkeksverteiler zu werden ist vermutlich eine der wenigen beruflichen Perspektiven, die sich noch bieten, wenn man einen an der Waffel hat.
  (wahsaga)