Problem mit langen Einträgen im Guestbook (wordwrap)

Bardiel

Mitglied
Ich habe mir anhand des sehr umfangreichen Tutorials von NocTurN (nochmal Danke )ein Guestbook zusammengeschustert und stehe nun vor einem Problem:

Die schon oft erwähnte Kiste mit dem herbeigeführten Zeilenumbruch. Ich bin schon dahintergekommen, dass die Funktion wordwrap() hier Abhilfe schaffen kann, weiter komme ich aber auch nicht

im Tutorial wird der DB-Eintrag für die Mitteilung folgendermaßen verarbeitet:

PHP:
while($daten = mysql_fetch_object($sqlanfrage)) // Solange wie daten ausgelesen werden können sollen
    {                                                // sie in das Objekt '$daten' geladen und die folgende 
                                                    // schleife ausgegeben werden
.
.
.
        echo "Kommentar: <br>";
        echo nl2br(stripslashes($daten->message)); //nl2br = Zeilenumbrüche in HTML-Umbrüche (<br>) umwandeln
        echo "\n<br><br>\n";
    }
?>

nl2br habe ich rausgenommen, weil ich das Textfeld auf einzeilig gesetzt habe.
Wenn ich nun wordwrap anwenden will sollte es doch so eigentlich funktionieren, tut es aber nicht -_-

PHP:
echo "Kommentar: <br>"
$text = stripslashes($daten->message);
$text2 = wordwrap($text, 60,"<br>");
echo $text2;
 
versuch mal:

Code:
$text2 = wordwrap($text, 60,"<br>", true);

dann wird es auf jeden Fall bei 60 Zeichen abgeschnitten. Ansonsten bricht die Funktion nur Zeilen um, die auch Whitespace (Leerzeichen) enthalten. Eine riesenlange Zeile aus einem Wort mit mehr als 60 Zeichen funktioniert mit deiner Variante nicht.

Ansonsten findest du noch einige Alternativen in den Benutzerkommentaren:
http://de.php.net/manual/en/function.wordwrap.php

Gruß
Marian
 
Die wordwrap()-Funktion sorgt jedoch dafür, dass immer nach jeweils 60 Zeichen ein HTML-Zeilenumbruch-Tag eingesetzt wird – egal ob es aufgrund der Länge eines Wortes benötigt wird oder nicht.
 
Zurück