URL: https://www.overclockers.at/coding-stuff/php_automatischer_zeilenumbruch_135157/page_1 - zur Vollversion wechseln!
Suche eine einfache Möglichkeit in einem String automatisch ein space oder was auch immer einfügen zu lassen, wenn ein Wort eine gewisse Buchstabenanzahl überschreitet (zB für Gästebücher, wenn irgendwelche bösen Menschen laaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaange Wörter eingeben, die das html Konstrukt beeinflussen könnten).
(afaik) wenn du den text in einem <td> ausgibst, wird der text automatisch umgebrochen
nope (außer man muss dafür irgendwas bestimmtes angeben, aber i habs an allen möglichen Stellen mit width= und width: ausprobiert)Zitat von CROWLER(afaik) wenn du den text in einem <td> ausgibst, wird der text automatisch umgebrochen
Serverseitig is da nicht allzu viel zu machen.... die CSS-Property "overflow:" solltest du dir aber mal anschaun.
$text = wordwrap($text,"<br>",100,1);
Die Funktion bricht in jedem Fall(1) nach 100 zeichen um. Wenn du die 1 weglässt schreibt er ein Wort was dann noch über die 100 Zeichen hinausgeht aus und bricht dann erst um.
das is nicht auf meinem mist gewachsen :
quelle :
http://www.coding-board.de/board/ar...php/t-5030.html
ja, kenn ich natürlich. Is aber net wirklich das Wahre, funktioniert außerdem bei Tabellen nicht (fall's man es dort brauchen würde).Zitat von COLOSSUSServerseitig is da nicht allzu viel zu machen.... die CSS-Property "overflow:" solltest du dir aber mal anschaun.

Aah, thx, kannte ich nicht. Allerdings is es auch nicht ganz des was ich suche, da des nicht nur lange Wörter abtrennt sondern generell den ganzen String.Zitat von CROWLER$text = wordwrap($text,"<br>",100,1);
Die Funktion bricht in jedem Fall(1) nach 100 zeichen um. Wenn du die 1 weglässt schreibt er ein Wort was dann noch über die 100 Zeichen hinausgeht aus und bricht dann erst um.
Zitat von Spikxja, kenn ich natürlich. Is aber net wirklich das Wahre, funktioniert außerdem bei Tabellen nicht (fall's man es dort brauchen würde).
Wieso soll da serverseitig nicht viel zu machen sein? I könnt mir ja ganz einfach a Funktion schreiben, die die chars zählt und des dann entsprechend einbaut, aber i will net schon wieder das Rad neu erfindenaah, thx, kannte ich nicht.
naja, nicht ganzZitat von CROWLERich hoffe es hat geholfen
weil ?
Zitat von CROWLERweil ?
Zitat von SpikxAllerdings is es auch nicht ganz des was ich suche, da des nicht nur lange Wörter abtrennt sondern generell den ganzen String.
also bei dem newsscript das ich vor langer zeit mal geschrieben hab werden die zeilen automatisch umgebrochen
http://www.s2kdesign.net/20/index.php
Jo.. eh.. aber laut Beschreibung auf php.net bricht des eben nicht nur lange Wörter im String um, sondern zählt alle chars inklusive Spaces im String und bricht dort um. Was natürlich kontraproduktiv ist, wenn man den automatischen Umbruch vom Browser verwenden möchte (und lange Wörter werden eben net vom Browser umgebrochen, no na).
Fuer Serverseitig muss das etwas "gschickter" angegangen werden. Ich hab letztens den Text nach Woertern gesplittet und bei langen Woertern dann einen Umbruch eingefuegt.
ja so stell ich mir das auch vor. Man könnte zB einfach explode dafür nehmen, allerdings.. wenn man jetzt nach spaces exploded, bleiben Wörter, die nur durch '\n' getrennt sind trotzdem noch ein Wort.Zitat von RektalFuer Serverseitig muss das etwas "gschickter" angegangen werden. Ich hab letztens den Text nach Woertern gesplittet und bei langen Woertern dann einen Umbruch eingefuegt.
mach ne regexp:
preg_replace("/(\w{100,})/e","wordwrap('\\1',' ',100,1)");
sollte das Problem eigentlich lösen 
edit:hatte vergessen den wrap-char reinzuschreiben 
merkt euch bitte dass man den umbruch in solchen fällen nicht ERZWINGEN (mit <br />
sollte, sondern ihn nur ERMÖGLICHEN sollte (durch eine Trennung durch ein leerzeichen)
overclockers.at v4.thecommunity
© all rights reserved by overclockers.at 2000-2026