T Tim Medlem sedan jan. 2002 115 inlägg Frågan 26 feb. 2002 15:13 #1 Tja,
Jag har gjort en gästbok i PHP och MYSQL. Den ligger i en tabell som är 365px bred.
Problemet jag har är att om någon skulle få för sig att mata in ett meddelande som inte utgörs av några blankrader, exempelvis:
ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss
..och detta meddelande utan blankrader går utanför den angivna storleken på tabellen, så utvidgar sig tabellen automatiskt. Därmed är layouten förstörd.
Jag undrar hur man ser till så att radbrytningar måste ske efter ett visst antal tecken?
Jag har försökt med wordwrap() men den verkar bara byta rad om ett ord skulle överstiga bredd-angivelsen och inte ett tecken. För strängen ovan är ju ett enda långt ord så det blir ingen skillnad.
Någon som har några idéer om detta?
Web-Tor Medlem sedan nov. 2000 13 890 inlägg T Tim Medlem sedan jan. 2002 115 inlägg Nej inte riktigt. Främst på grund av att något svar på frågan inte fanns, och att länken som förmodligen innehöll svaret inte funkar längre.
Hur som helst, du har ju gästbok i tabell. Hur har du gjort för att stoppa detta?
Web-Tor Medlem sedan nov. 2000 13 890 inlägg Eftersom wF håller på att möblera om så hittar du scriptet här numera:
http://webforum.aleborg.com/forum/showthread.php?s=&threadid=37528
/r Anledningen till att jag inte har använt detta i min gästbok (vilket du var tvungen att testa) är att det endast uppkommer om någon medvetet försöker att sabba.
Vill man abolut förstöra för andra så finns det tusen sätt till.
T Tim Medlem sedan jan. 2002 115 inlägg Koden av honom förutsätter att det är dom 25 första tecknen jag vill åt.
Problemet är att jag vill åt de 25 första tecknen på varje rad.
Här är ett exempel från en PHP - bok:
$Namn = "Spider";
for($i=0; $i<strlen($Namn); $i++) {
$temp = substr($Namn,$i,1);
echo $temp."<br>";
}
Ovanstående ger följande resultat:
S
p
i
d
e
r
Om vi säger att jag vill bestämma att radbrytningarna ska ske efter 60 tecken. Hur gör jag då?
B Batboy Medlem sedan jan. 2000 1 006 inlägg
Jag undrar hur man ser till så att radbrytningar måste ske efter ett visst antal tecken?
Jag har försökt med wordwrap() men den verkar bara byta rad om ett ord skulle överstiga bredd-angivelsen och inte ett tecken.
Vad är det för fel på wordwrap ?
<?
$text = "ssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss";
$newtext = wordwrap( $text, 60, "<br>\n", 1);
echo "$newtext";
?>
/j
T Tim Medlem sedan jan. 2002 115 inlägg Tack som fan...
Jag får väl skylla på boken som jag har(Pagina's). Den tar inte upp dom två sista parametrarna som du använde.
T Tim Medlem sedan jan. 2002 115 inlägg För den som bryr sig så kan man i MSIE göra så här för att förhindra att tabellerna utvidgas:
style="table-layout:fixed"
Sjävlklart går det inte i netscape