Zeilenumbruch

Sasser

Erfahrenes Mitglied
Guten Abend!

Ich habe einen Chat in einem DIV, welches nur vertikal scrollbar sein soll. Nun kommt es ab und zu vor, dass jemand mehrere Zeiche ohne Leerzeichen rein schreibt und dadurch geht es hinten hinaus und ein horizontaler Scrollbalken entsteht.

Kann man dem Div sagen, dass es da aufhören soll und den Rest in die nächste Zeilen schreibt oder kann man das mit PHP lösen?

Meine Lösung war bisher:

PHP:
echo wordwrap ( $row [message], '25', "<br>", true );

Zweite Sache ist, dass ich gern alles klein haben möchte. Allerdings die folgende Funktion macht die Umlaute wie "ü", "ö" und "ä" nicht klein:

PHP:
$message = strtolower ( $message );

Vielen Dank für eure Hilfe! ;)
 
Mir fällt nur Overflow aus CSS ein, womit man aber keinen Zeilenumbruch erreicht.
Aber für das Groß-/Kleinschreibung gibt es text-transform in CSS ;)

Allerdings die folgende Funktion macht die Umlaute wie "ü", "ö" und "ä" nicht klein:

PHP:
$message = strtolower ( $message );

Hast du Ä, Ü, Ö im Text und willst diesen in einem HTML-Dokument haben? Kleingeschrieben?

Wenn ja dann ist dein HTML sicherlich invalide. Ä, Ü, Ö sollte eigentlich als &Auml; &Uuml; &Ouml; dort stehen und wenn das durch strtolower geht, wird da $aauml; etc. draus und somit hast du wieder klein geschriebene Umlaute. Nur in PHP gelöst könntest du den Text durch htmlentities oder ähnliches jagen, dann strtolower und danach wieder "dekodieren".
 
Also zur Zeit nutze ich folgendes:

PHP:
$message = strtolower ( strip_tags ( mb_convert_encoding ( $message, "ISO-8859-1", "UTF-8" ) ) );

Ich möchte die Sache schon ganz gern in PHP lösen. Es müssen nur noch die Umlaute in kleine Buchstaben umgewandelt werden...
 
Hi,

es wird Zeit, dass das PHP-Manual den Weg in Deine Bookmarks findet:

aus der Beschreibung von [phpf]strtolower[/phpf]:
Note that 'alphabetic' is determined by the current locale. This means that in i.e. the default "C" locale, characters such as umlaut-A (Ä) will not be converted.

und zu [phpf]mb_strtolower[/phpf]:
By contrast to strtolower(), 'alphabetic' is determined by the Unicode character properties. Thus the behaviour of this function is not affected by locale settings and it can convert any characters that have 'alphabetic' property, such as A-umlaut (Ä).

LG
 
Super ich danke!

Ich hatte bereits danach gesucht, aber nichts gefunden ;)

Wir kann ich das nun noch realisieren, dass das DIV an der Stelle Schluss macht, anstatt nach hinten hinaus zu schreiben!?
 
Hmm das habe nutze ich bereits!

Habe auch schon den horizontalen Scrollbalken entfernen lassen, aber dann wird es so breits gezogen, wieviel Platz es braucht....

Kann man das nicht mit PHP lösen? Das Problem tritt nur auf, wenn jemand viele Zeiche hintereinander weg schreibt. Gibt es vll. eine Funktion, bei welcher man die Pixel angibt, nach welchen ein Zeilenumbruch gemacht wird?
 
Hmm das habe nutze ich bereits!

Habe auch schon den horizontalen Scrollbalken entfernen lassen, aber dann wird es so breits gezogen, wieviel Platz es braucht....
... das Ganze läuft bei dir offensichtlich ohne eine width-Deklaration (absolut oder relativ) für die Box ab, ohne sie bleibt overflow:hidden nämlich wirkungslos ;)

mfg Maik
 
Hmm leider bringt das nicht den Erfolg den ich haben wollte, denn er schneidet den übergroßen Text nicht ab, sondern mach die DIV-Box einfach horizontal scrollbar und das wollte ich eigentlich vermeiden:

PHP:
echo "<div id='chathistory' style='width:175;height:100%;overflow:auto;'></div>";
 
Zurück