Probelm mit GB
lima-city → Forum → Programmiersprachen → PHP, MySQL & .htaccess
beispiel
beitrag
bindestrich
buchstabe
diss
einfachen befehle
erachten
fragen
funktion
gebilde
gen
grad
kriegen
tabelle
test
umbruch
unterschied
weiterleitung
wort
zeilenumbruch
-
Hi, ich bin grad an einem G?stebuck dran und hab auch soweit alles fertig nur eine sache krieg ich nicht behoben. Wenn im tex t des eintrags ein wort vorkommt, dass l?nger ist als die tabelle in der er angezeigt wird, dann passt sich die Tabelle an die l?nge des wortes an. Ich wil das aber so haben dass das wort mit nem "-" getrennt wird. gibts da ne m?glichkeit das zu machen oder ist das sehr schwierig oder gar unm?glich.
der Code sieht wie ?blich so aus:
while ($line = mysql_fetch_assoc($result2)){
echo "<table style='border:#F49B39 solid; border-width: 2px; border-style:inset' width='365'><tr><td>\n";
echo "<table border='0' bordercolor='#F49B39' width='365'>\n";
echo "\t\t<tr><td bgcolor='#C0C0C0'>".$line['betreff']."</td>\n </tr>\n";
echo "\t\t<tr><td><span $smalltext>Geschrieben von </span><b>".$line['user']."</b><span $smalltext> am </span> <b>".$line['datum']."</b> <span $smalltext> um </span> <b>".$line['uhrzeit']." </b><span $smalltext>Uhr</span> </td>\n </tr>\n";
echo "\t\t<tr><td>".$line['beitragstext'].$textlength."<br><br></td>\n </tr>\n";
echo "</table>\n <br>";
echo "</td></tr></table>\n <br>";
}
Ich bedanke mich schonmal im voraus f?r jede antwort
GREETZ
rubosh
Beitrag ge?ndert am 12.12 00:32 von rubosh -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage
-
Ist das vielleicht die Funktion die du suchst?
-> http://selfphp.info/funktionsreferenz/string_funktionen/wordwrap.php -
das ist schonma nicht schlecht, denk ich ma
jetzt kommt aba die frage, wie ich aus einem string ein einzelnes wort rausfiltern kann(am besten alle worte), dass ich dann durch wordwrap jagen kann
GREETZ
rubosh -
k?nntest du deine frage bzw. bitte nen bi?chen deutlicher formulieren??
oder hab ichs doch richtig verstanden und du willst nur heraus fidnen wie viele w?rter in dem string sind?
wenn ja dann vergiss das wieder denn adnn schreibt einer nen seiten langes wort und er st dann wird umgebrochen -
das ist ja auch grad mein Problem. ich will dass alle w?rter, die l?nger sind als die tabelle breit ist, mit nem "-" umbrochen werden. der Rest wird ja standartm??ig umbrochen, wenn das n?chste wort nicht mehr reinpasst. verstehste?
GREETZ rubosh -
$text = wordwrap($line['beitragstext', 15 );
15 = anzahl der buchstaben
musst dann halt anstatt $line['beitragstext']
$text einsetzen und den oben stehenden code vor das echo setzen. -
@ julian182:
soweit war ich auch schon
nur wenn ichs so mach wie du menst dann bekomm ich nur das raus, was jeder browser der welt automatisch macht. den Text so umbrechen, dass es in die Tabelle passt. Wenn jetzt aber einer meint ein ?beraus langes Wort(das l?nger ist als die Tabelle breit ist) in seinem Beitragstext vorkommen zu lassen, dann wird die tabelle f?r das wort passend gemacht.
Ich hab jetzt etwas rumprobiert und bin darauf gesto?en, dass wenn ich den hier mach:
$text = wordwrap($line['beitragstext', 50, "<br>", 1 );
dann werden die w?rter, die mehr als 50 zeichen haben und somit meine Tabelle vergr??ern einfach und brutal umgebrochen. Das ist fast mein gew?nschtes Ergebnis mit dem Unterschied, dass ich gerne noch ein "-"
haben wollte bei dem Umbruch.
Nun wenn ich aber so vorgehe:
$text = wordwrap($line['beitragstext', 50, "-<br>", 1 ); dann gibt es bei jedem zeilenumbruch ein "-"
Min wunsch war all die w?rter, die meine Tabelle in der Breite vergr??ern, sauber mit einem "-" zu trennen -
Hey das Problem interessiert mich auch. Und zwar ist ja auch hier bei Lima so, dass die tabbel einfach gestreckt wird. Das sieht einfach nicht sch?n aus und ist au?erdem hinderlich. Wie kann man es dann nun machen, dass wenn ein zusammenh?ngendes Gebilde (muss ja nicht immer ein Wort sein) zu lang ist, es auch durch einen Bindestrich getrennt wird und nicht einfach nur umgebrochen.
-
ich glaube das kannste beheben wenn du die gr??e des fensters genau definierst! hat bei mir immer geklappt.
-
Nein das klappt nicht! Hier ein Beispiel:
WOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOORRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRRTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTTT
Das soll jetzt irgendwie normal getrennt werden. Also mit Bindestrich! -
hier im forum geht das sowieso nicht auch keine einfachen befehle wie:
<center>
test
</center>
HTML funktioniert auch nicht!
Das hat aber ?berhaupt nichts mit dem Zeilenumrbuch zu tun....
i-spacke schrieb:
Nein das klappt nicht! Hier ein Beispiel:
[...]
Das soll jetzt irgendwie normal getrennt werden. Also mit Bindestrich!
Das Beispiel bzw. die L?sung hat der Threader?ffner doch oben gepostet.
$text = wordwrap($line['beitragstext', 50, "-<br>", 1 );
Damit kann man ein Wort zwar nicht sauber trennen(also nicht nach Siblen, wie man es im Deutschen machen w?rde). -
Aber er hat doch geschrieben, dass es dann bei jedem Zeilenumbruch ein "-" gibt...
@free4all
Es w?re doch kathastrophal wenn man zum Beispiel eine Weiterleitung hier reinschreiben k?nnte oder so... -
Aber er hat doch geschrieben, dass es dann bei jedem Zeilenumbruch ein "-" gibt...
@free4all
Es w?re doch kathastrophal wenn man zum Beispiel eine Weiterleitung hier reinschreiben k?nnte oder so...
Argh, da habe ich mich wohl verlesen.
Zum Thema :
Das ist sehr schwierig und meines erachtens nach ?berfl?ssig, da das Wort dann nicht korrekt getrennt wird. Ich w?rd es glaube ich lassen, denn viele Besucher bringen automatisch Zeilenumbr?che rein. Ist wahrscheinlich das einfachste, sich auf die User zu verlassen, obwohl ich davon eingetlich kein Freund bin. ;) -
Naja es ist ja nur so, dass wenn die Leute es normal machen auch nichts umgebrochen wird, aber wenn sie einfach mal ein zu langes Wort benutzen ist es mir dann auch egal wo es umgebrochen wird.
-
Vielleicht funktioniert das:
$text = preg_replace(
'/(\\s+)([\\d\\w]{47})([\\d\\w]{3,})([\\s\\.\\,\\,\\;\\?\\!]+)/m',
'$1$2-<br />$3$4',
$text
);
**Edit: So, hoffentlich funktionieren die Backslashes jetzt richtig -.-
Beitrag ge?ndert am 6.10.2005 11:25 von alopex -
ich kann die teoretische l?sung verraten:
1. die zeichenkette an den lehrzeichen in arrays aufteilen
2. schleife durchlaufen lassen und immer mit strlen(); die l?nge des strings ?berpr?fen, wenn string l?nger als zb 30 ist, dann f?gst du bei zeichen 30 ein -<br>\n ein!!
leider kann ich jetzt die ganzen funktionen nicht beim namen nennen, aber so funzts!!
ich bin mir nicht sicher, ob man einfach mit $string[$i][30] = "-<br>\n"; diss einf?gen kann, aber das1s kann ja jeder sleber ausprobieren!!!!
DIE ?NDERUNG:
also, die oben beschriebene funktion is explode();, also einfach explode(" ", $string); ...
Beitrag ge?ndert am 7.10.2005 17:30 von tb -
Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!
lima-city: Gratis werbefreier Webspace für deine eigene Homepage