Archiv verlassen und diese Seite im Standarddesign anzeigen : Kluge Köpfe gesucht!
Hi!
Ich hab da ein Riesenproblem.
Ich möchte einen String auf 5 Strings verteilen.
Jeder der 5 Teil-Strings soll dabei eine bestimmte Länge haben, die sich durch das Aussehen einer <textarea cols=15 rows=38></textarea> definiert.
In dieser Textarea wird(das soll auch so bleiben!) der Text jedoch umbrochen, wenn ein Wort nicht mehr in die aktuelle Zeile paßt, weshalb auch jeder Teilstring eine andere Länge hat, obwohl die Zeilenanzahl die gleiche ist.
Man müßte Kriterien definieren, wann eine neue Zeile beginnt. Z.B. bei einer Zeilenlänge von 10 Zeichen und der Zeichenkette :_ _ Karl_ Mustermann wird folgendermaßen umbrochen:
_ _Karl_
Mustermann.
Ich hab rumprobiert wie ein Irrer, ich komm einfach nicht drauf! Please help!
hast das schon mit nem substr() versucht?
damit kannst den string nach 5 zeichen abschneiden und in einen array speichern oder so...
greetz
Das ist leider nicht das Problem.
Das Problem ist, festzustellen, wann denn jetzt eine Zeile umbrochen wird, um so festzustellen, an welcher Stelle in meinem Hauptstring 10 Zeilen zuende sind.
Denn es existieren ja keine Zeilenumbrüche(die könnte man ja sonst in der Zeichenkette suchen) wenn ein Wort nicht mehr in die aktuelle Zeile paßt! Dann wird ja nur "optisch" umbrochen, d.h. in der Ansicht der textarea nicht aber im String selber!
Felix Kaiser
12.04.2002, 12:34
$arr = split("[ ]",$foo);
Damit könntest du die Zeichenkette erstmal nach Leerzeichen splitten. Folglich kannst du in einer Schleife immer soviele Wörter aus dem Array entnehmen, bis eine Zeile voll ist und die Wörter dann in einen neuen Array schreiben. Wenn du nun das 10x machst, hast du in dem neuen Array dann die 10 Zeilen, die du brauchst. Mit dem Join Befehl oder welcher das war kannst du aus dem Array dann locker wieder eine Zeichenkette machen, genau den Teil den du brauchst.
wieso machts du das ned gleich am textarea und gibts ihm an, dass er die zeilenumbrüche auch in den string schreiben soll?
so long
cYrus
Original von cYrus
wieso machts du das ned gleich am textarea und gibts ihm an, dass er die zeilenumbrüche auch in den string schreiben soll?
so long
cYrus
Weil das (meines Wissens) nicht W3C-Konform ist und nicht von allen Browsern verstanden wird?
Mach es so wie oben genannt, mit dem split, allerdings musst du halt immer ein wort hinzufügen, dann prüfen, wieviel zeichen die aktuelle zeile hat, und wenn eine bestimmte anzahl an zeichen überschritten würde, wenn du ein weiteres wort anhingest (? oder "hinhängen würdest"? egal....), dann musst halt eine neue zeile anfangen...
Ja, natürlich geht es, "künstlich" Zeilenumbrüche einzufügen mittels <textarea wrap=´hard´>.
Damit kann ich aber leider nix anfangen, da dabei eben Zeichen zum String(eben \n) hinzugefügt werden.
Das darf aber nicht sein, die Zeichenkette muß unverändert bleiben. Nur die Wörter der Zeichenkette sammeln bringt aber auch nix, denn dann fehlen mir die Zeichen, die eben nicht zum Wort gehören.
Trotzdem THX
vBulletin® v3.8.6, Copyright ©2000-2012, Jelsoft Enterprises Ltd.