[gästebuch] Bei langem Wort wird die Zellengröße größer...

Hi,


Habe ein ganz einfaches GB das auf MySQL basiert...

Nun
folgendes Problem:

Die Zellengröße wo der Text drin steht ist zB 500px groß und wenn jetzt ein Wort solange ist dass es normalerweise nicht hineinpasst dann wird die Tabelle einfach vergrößtert...

Das möchte ich aber nicht ! Wie kann man machen das er das Wort abteilt, also das die Zelle immer auf 500px bleibt.


Bitte Helft Mir
MfG
 
Hallo!

Mit dieser Frage bist du hier im falschen Forum.
Das gehört zu CSS!

Du kannst das folgendermaßen mittels CSS realisieren:

1. Beispiel:

Code:
<table style='table-layout:fixed;'>

Dadurch hat die Tabelle IMMER die angegebene Größe.
Selbst Bilder werden da einfach abgeschnitten, falls diese zu groß für die Tabelle sein sollten.
Text wird dabei in die nächste Zeile gesetzt.

2. Beispiel:

Code:
<table>
<tr>
<td style="overflow-x: hidden;">
</tr>
</table>

Dadurch wird der Text einfach nicht angezeigt.
Ich glaube, er wird sogar nicht in die nächste Zeile geschrieben, sondern einfach "versteckt".
 
Ach, stimmt ja!
Das mit dem "in die nächste Zeile" klappt ja nur, wenn Leerzeichen (oder vergleichbares) vorhanden sind.
Also mit HTML (und was dazu gehört) fällt mir gerade keine Lösung ein (vielleicht hab' ich auch grad was vergessen?!).
Vielleicht solltest du mittels PHP dafür sorgen, dass die Worter nur eine bestimmte Länge haben dürfen.

PS:

Das war jetzt schon deine 2. Frage! ;)
 
Danke für die Fragenstellung

Aber so mit der zeichenzählung ist das ein bisschen blöd, da jeder buchstabe, zahl oder zeichen verschieden groß ist (zB W , i )

Also weiß da irgentwer was
 
Das Problem in PHP lösen zu wollen ist gar nicht so dumm und auch ohne weiteres möglich.

wordwrap() macht es möglich.

Überlange Worte werden zerstückelt, und natürlich in der Tabelle umgebrochen.


gruß,
neuro
 
Schau doch in der Manual nach.

Hier mal ein Link:

http://www.phpcrawler.de/phpmanual/function.wordwrap.php

Da gibt es dann auch gleich einige Beispiele.

Wenn du dein Gästebuch also so ausliest (sehr vereinfacht ;) ):

PHP:
while ($Row = mysql_fetch_assoc($Query_Guestbook)
{
echo $Roe['Titel']."<br />";
echo nl2br($Row['Inhalt']);
}

Dann müsstest du es so ändern:

PHP:
while ($Row = mysql_fetch_assoc($Query_Guestbook)
{
echo $Row['Titel']."<br />";
echo nl2br(wordwrap($Row['Inhalt'],500,'\n', 1));
//bricht den Text nach 500 Pixeln
}

Allerdings frag' ich mich gerade, wass passiert, wenn man z. B. Schriftgöße 30 nimmt?!
 
Zuletzt bearbeitet:
Sorry rootssw, aber Du hast da etwas falsch verstanden: wordwrap() teilt nach ZEICHEN und nicht nach PIXELN. Dein Beispiel würde ein Wort nach 500 Zeichen aufteilen. Und da kaum ein Wort 500 Zeichen besitzt würde die Funktion überhaupt nicht gehen.....

;) :-)
 
Zurück