[PHP] Zeilenumbrüche
In meinem Forum gibt es immer Probleme mit zu langen Zeilen. Wie kann ich die automatisch umbrechen? Hab es schon mit split versucht, aber irgendwie bin ich wohl zu müde/newbig/dumm (sucht euch was aus :mrgreen:)
|
Re: [PHP] Zeilenumbrüche
Du könntest den String mit explode (Leerzeichen als Trennzeichen) in ein array aus Wörtern aufteilen. Dann unterstuchst du jedes einzelne Element auf seine Länge und fügst entsprechend dann Zeilenumbrüche ein, falls ein Wort zu lang sein sollte.
Danach fügst du das Wörter-Array mit implode wieder zu einem einzigen String zusammen. |
Re: [PHP] Zeilenumbrüche
Code:
Versuch mal das....
wordwrap
(PHP 4 >= 4.0.2, PHP 5) wordwrap -- Bricht die Zeilen eines Strings nach einer bestimmten Anzahl Zeichen mittels des angegebenen Trennzeichens um. Beschreibung: string wordwrap ( string str [, int width [, string break [, int cut]]]) Bricht die Zeilen des Strings str an der mittels width angegebenen Position um. Diese Zeilenumbrüche werden mit dem im (optionalen) Parameter break spezifizierten Steuerzeichen durchgeführt. Die Funktion wordwrap() bricht die Zeilen automatisch an der Spalte 75 unter Verwendung des Steuerzeichens '\n' (neue Zeile) um, wenn die optionalen Parameter width und / oder break nicht angegeben sind. Steht cut auf 1, wird der String immer an der vorgegebenen Länge umgebrochen. Ist ein Wort also länger als die gegebene Länge, wird der Zeilumbruch auch innerhalb des Wortes eingefügt (siehe zweites Beispiel). Anmerkung: Der optionale Parameter cut wurde in PHP 4.0.3 eingeführt. |
Re: [PHP] Zeilenumbrüche
|
Re: [PHP] Zeilenumbrüche
Oder wenn du's inna Tabelle darstellt reicht eigendlich ein :
Code:
<table width="70%" style="table-layout:fixed">
|
Re: [PHP] Zeilenumbrüche
Bei normalem Text geht es (das mit dem table style), aber guckt euch mal das an: Link
|
Re: [PHP] Zeilenumbrüche
Liste der Anhänge anzeigen (Anzahl: 1)
Bei mir sieht es gut aus, siehe Anhang....
Welchen Browser nutzt du ? Laut Selfhtml sollte das bei allen gängigen Browsern funktionieren : SelfHTML - Table Layout |
Re: [PHP] Zeilenumbrüche
Liste der Anhänge anzeigen (Anzahl: 1)
Ich hab den Firefox und bei mir sieht das so aus:
|
Re: [PHP] Zeilenumbrüche
Bei mir siehts genauso auf wie bei 3_of_8 (auch FF).
|
Re: [PHP] Zeilenumbrüche
Damit wären wir jetzt einen Schritt weiter, nämlich bei "Smash your head on keyboard!". Ich HASSE es wenn nichts so funzt wie es funzen soll und keiner den Grund dafür weiß. :wall:
|
Re: [PHP] Zeilenumbrüche
Nimm doch wordwrap. Tut genau was du willst (sofern cut auf 1 steht).
|
Re: [PHP] Zeilenumbrüche
Na gut, ich probiers mal.
|
Re: [PHP] Zeilenumbrüche
Geht nicht: [img]-Tags und [url]-Tags werden auch umgebrochen, was aber bedeutet, dass sie nicht mehr funktionieren. Und auch Zeilen, die schon einen Umbruch haben werden noch umgebrochen. Mist.
|
Re: [PHP] Zeilenumbrüche
*push*
|
Re: [PHP] Zeilenumbrüche
Vielleicht is "overflow:" was für dich... dann wird der text zwar nich umgebrochen, aber er kann zumindest abgeschnitten werden oder es werden scrollbars angezeigt..
|
Re: [PHP] Zeilenumbrüche
Warum ist das überhaupt ein Problem? Hier im Forum tauchen Wörter mit mehr als 50 Wörtern auch nicht auf und Browser brechen i.A. an Wortgrenzen (Leerzeichen) ganz von alleine um. Hier besteht dieses Problem nur im "Aktuelle Themen"-Kasten bei Wörtern, die länger sind als der KAsten breit ist, dort wird einfach ein Leerzeichen eingefügt, damit der Browser automatisch umbricht. Bei Texten, die irgendwelche Markup-Elemente enthalten, musst du selbstständig parsen um diese Elemente nicht zu verändern.
|
Re: [PHP] Zeilenumbrüche
Das Problem ist das, dass in MEINEM Forum das ganze nicht umgebrochen wird, und die ganzen Tabellen verrückt spielen. Ich stelle die Frage jetzt nocheinmal modifiziert.
Ich will, dass der String $post nach $wrapwidth Zeichen automatisch umgebrochen wird, wenn bis dahin noch kein Umbruchszeichen war und außerdem sollen BBCode Tags nicht mitgezählt werden. |
Re: [PHP] Zeilenumbrüche
Für phpBB gibt's was in der Mod DB von phpBB.de
|
Re: [PHP] Zeilenumbrüche
Hat deutliche Nachteile. Ich will, dass BBCodes nicht abgebrochen werden. Mit BBCodes formatierter Text schon.
|
Re: [PHP] Zeilenumbrüche
http://www.underhill.de/downloads/ph...richttipps.txt Da steht, wie's gemacht wird
|
Re: [PHP] Zeilenumbrüche
Ich glaube, es geht jetzt mit einer anderen Lösung.
|
Re: [PHP] Zeilenumbrüche
Zitat:
|
Re: [PHP] Zeilenumbrüche
Falsch. Kann ich schon. Im Forum war eine eingebaut, nur mein Chef hat sie falsch eingestellt.
function textwrap($post, $wrapwidth=0, $inpost=0) { if($wrapwidth==0) $wrapwidth=$this->wrapwidth; if($post) { if($inpost==1) return preg_replace("/([^\n\r ?&\.\/<>\"\\-]{".$wrapwidth."})/i"," \\1\n",$post); else return preg_replace("/([^\n\r -]{".$wrapwidth."})/i"," \\1\n",$post); } } $wrapwidth war vorher auf 75 und ist jetzt auf 60. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:50 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz