"Christmas - the time to fix the computers of your loved ones" « Lord Wyrm

php: automatischer Zeilenumbruch

Spikx 23.01.2005 - 14:08 1361 21
Posts

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Zitat von watchout
mach ne regexp:
preg_replace("/(\w{100,})/e","wordwrap('\\1',' ',100,1)");

sollte das Problem eigentlich lösen ;)
also doch möglich mit regex, leider hab ich zuwenig Übung bei sowas, sodass i jetzt ah net ganz kapier was da passiert :D Und des macht wirkli jetzt nur a space in des lange Wort (und net spaces pro 100 chars)?
Zitat von watchout
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)
hatte ich eh vor

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
also, funktionsgarantie kann ich keine geben, weil ichs nicht getestet hab' ;)

Aber es sollte wirklich nur die zu langen Wörter teilen

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
hmm...
Code: PHP
Warning: wordwrap() expects parameter 2 to be long, string given in bla.php(89) : regexp code on line 1

//Verwendung:
$bla = preg_replace("/(\\w{45,})/e","wordwrap('\\\\1',' ',45,1)",$string);
//ah, ups, Parameter im wordwrap waren vertauscht. Scheint zu funktionieren :)
Bearbeitet von Spikx am 23.01.2005, 23:01

mat

Administrator
Legends never die
Avatar
Registered: Aug 2003
Location: nö
Posts: 25423
http://de.php.net/wordwrap

bitte.. er meinte ja keine garantie :rolleyes:
bissl wirst auch selber machen müssen.

edit: na eben.. selbst ist der mann :D

Ringding

Pilot
Avatar
Registered: Jan 2002
Location: Perchtoldsdorf/W..
Posts: 4300
Ich hab damit ein prinzipielles Problem. Wie soll der Server die Zeilen abteilen, wenn er nicht weiß, wie breit die einzelnen Zeichen dargestellt werden?

Spikx

My Little Pwny
Avatar
Registered: Jan 2002
Location: Scotland
Posts: 13504
Zitat von Ringding
Ich hab damit ein prinzipielles Problem. Wie soll der Server die Zeilen abteilen, wenn er nicht weiß, wie breit die einzelnen Zeichen dargestellt werden?
Es geht ja nur darum zu lange Wörter abzutrennen... genauso wie auf oc.at, damit böswillig langgemachte Wörter eben net des Design beeinflussen. Wenn halt mal wirklich wer mit gutem Gewissen das Wort Donaudampfschiffahrtsgesellschaftskapitänkajütenschlüsselbundanhängerständerholzwurmspray in irgendeinem Kontext braucht... hat er halt Pech :p

watchout

Legend
undead
Avatar
Registered: Nov 2000
Location: Off the grid.
Posts: 6845
Zitat von Spikx
Es geht ja nur darum zu lange Wörter abzutrennen... genauso wie auf oc.at, damit böswillig langgemachte Wörter eben net des Design beeinflussen. Wenn halt mal wirklich wer mit gutem Gewissen das Wort Donaudampfschiffahrtsgesellschaftskapitänkajütenschlüsselbundanhängerständerholzwurmspray in irgendeinem Kontext braucht... hat er halt Pech :p
normal würde man in so einem Fall den sogenannten "Nullbreiten Nichtverbinder" verwenden, der in HTML4 als Entity definiert ist, leider auch manchmal einfach nicht funktioniert...:
der Code dafür wäre &zwnj;
Kontakt | Unser Forum | Über overclockers.at | Impressum | Datenschutz