Oliver: automatischer Umbruch im Textfeld

Hallo ich bins schon wieder,

habe folgendes Problem.
Ich habe ein kleines Gästebuch welches in einer tabelle ausgegeben wird die aber eine Breite von maximal 300 pixeln nicht überschreiten darf ! Wenn ich in mein Textfeld einen langen Text schreibe bricht er mir die Zeichen nicht um egal ob ich wrap=pysical oder wrap=virtual mache.
Das layout wird über eine Variable in eine Datei geschrieben.

Hier mal der Code :

FormularCode:

<form action="gaestebuch.php" method="get">
Dein Name:<input type="text" name="name"><br>
Deine E-Mail:<input type="text" name="email"><br>
Titel:<input type="text" name="titel"><br>
Deine Homepage:<input type="text" name="www"><br>
Dein Eintrag:<textarea type="text" name="kommentar" wrap="virtual"></textarea><br>
<input type="hidden" name="action" value="senden">
<input type="submit" name="abschicken">
</form>

Hier der Code der Varable welche für das Design zuständig ist:

$eintrag = "<table widht="300" cellpadding="2" cellspacing="2">
  <tr>
    <td widht="248">Eintrag Nr.: ".$nummer."<br>
      Titel: ".$titel."
   <a href="".$www.""><br>".$www."</a></td>
    <td widht="140" height="120" background="bilder/nav/nav_bg_wolf.gif">
 Autor: <a href="info.php">".$name."</a><br>
   <a href="mailto:".$email."">E-Mail schreiben</a><br>
      ".$datum."</td>
  </tr>
  <tr>
    <td widht="248">".$name." schrieb:<br> <br> ".$kommentar." </td>
  </tr>
</table>
<br>";

Vielleicht könnt ihr mir mal wieder helfen. Ich werde auf jeden Fall einen Link auf dieses Forum auf meiner Seite einbauen denn ohne euch hätte ich schon lange hingeschmiessen.
Bin zwar noch Anfänger was php angeht doch es macht viel Spass.

Danke an alle im vorraus!
Ciao eurer treuer Forumsleser - Schreiber Oli

  1. Hallo ich bins schon wieder,

    habe folgendes Problem.
    Ich habe ein kleines Gästebuch welches in einer tabelle ausgegeben wird die aber eine Breite von maximal 300 pixeln nicht überschreiten darf ! Wenn ich in mein Textfeld einen langen Text schreibe bricht er mir die Zeichen nicht um egal ob ich wrap=pysical oder wrap=virtual mache.

    [.....]

    hat weniger mit php zu tun, aber was ist wenn du in einem td tag
    also
    <table>
    <tr>
    <td style="text-align:justify;width:400px;" >$inhalt</td>
    </tr>
    </table>

    schreibst !?!?
    ich verwnede es immer so, und funnzt supa ;-)

    grüsse,elmar.

    1. hi,

      hat weniger mit php zu tun, aber was ist wenn du in einem td tag
      also
      <table>
      <tr>
      <td style="text-align:justify;width:400px;" >$inhalt</td>
      </tr>
      </table>
      schreibst !?!?
      ich verwnede es immer so, und funnzt supa ;-)

      nein, tut es nicht.

      ohne weitere angaben wird ein sehr langes wort deine tabelle immer noch sprengen.

      gruss,
      wahsaga

  2. Hallo Oli!

    [...] Breite von maximal 300 pixeln nicht überschreiten darf

    Also, da gibts mehrere Möglichkeiten.
    Erstmal könntest Du mit nl2br() (Lesetip: http://php.net/nl2br) die im formularfeld eingegebenen Umbrüche in HTML-Zeilenumbrüche umwandeln.

    Des weiteren gibts in PHP aber auch eine wordwrap-Funktion (Lesetip: http://php.net/wordwrap).

    Außerdem wäre es vielleicht sinnvoll, um Mißbrauch vorzubeugen, noch vorm Ausgeben ein htmlentities, htmlspecialchars, strip_tags oder Ähnliches drüberlaufen zu lassen (Die Links zu den einzelnen erwähnten Funktionen spar ich mir, sind ja alles String-funktionen im manual, und damit über die beiden bereits gesetzen links einfach schon zugänglich).

    MfG
    Götz

    --
    Losung und Lehrtext für Samstag, 27. September 2003
    Wohl denen, die in deinem Hause wohnen; die loben dich immerdar. (Psalm 84,5)
    Es war eine Prophetin, Hanna, die war hochbetagt. Sie war eine Witwe an die vierundachtzig Jahre; die wich nicht vom Tempel und diente Gott mit Fasten und Beten Tag und Nacht. Die pries Gott und redete von ihm zu allen, die auf die Erlösung Jerusalems warteten. (Lukas 2,36-38)
    (http://www.losungen.de/heute.php3)