Autor Zpráva
Pesulap
Profil
Ahoj mám takový malinký guestbook a potřebuju tam nějak ošetřit to, aby když mi někdo napíše slovo dlouhé xxx znaků tak aby mi to nerozhodilo celou stránku.Něco mi to po 5O znacích odenteruje :-( nevíte co s tím ...
DJ Miky
Profil
Existuje funkce wordwrap() na lámání dlouhých slov, ale dá se to vyřešit i overflow:hidden v CSS.

P.S.: Ještě u té funkce wordwrap je dole v komentářích spousta užitečných funkcí na to samé, pokud ti přímo wordwrap nevyhovuje.
Pesulap
Profil
Tak jsem to zkusil takhle
$vzkaz = $_POST['vzkaz'];
$vzkaz2 = wordwrap($vzkaz, 8, " ", 1);


A výsledek žádnej , furt to samé .:-(
nightfish
Profil
šířka 8 znaků? to není moc...
a vypisuješ proměnnou $vzkaz2?
a nebylo by lepší do rozdělovacího řetězce napsat <br> ?
Pesulap
Profil
jak neni moc ? a vtkaz2 ukládam do databáze a pak jí vypisuji . a myslíš jako takhle ?
$vzkaz = $_POST['vzkaz'];
$vzkaz2 = wordwrap($vzkaz, 8, "<br />", 1);

?
nightfish
Profil
1) 8 znaků není moc - tzn. při wrappování po 8 znacích ti z textu vznikne dlouhá nudle, která se bude celkem špatně číst
2) jestli ukládáš do databáze, tak bych wrappování prováděl až při výpisu z databáze (když se později rozhodneš, že budeš chtít zalamovat po 30 znacích a ne po 8, tak s tím nebudeš mít takový problém)
3) ano, ten kód je +- správný

jinak tvůj původní problém zřejmě spočíval v tom, že jsi wrappoval pomocí \n, což je sice znak nového řádku, nicméně v HTML se při výpisu ignoruje... jde to i s ním, nicméně je potřeba výstup prohnat funkcí nl2br()
Pesulap
Profil
Tak to nefunguje :-( jak to mám udělat ?
Pesulap
Profil
Tak mám to takhle u výpisu !
while($zaznam = MySQL_Fetch_Array($dotaz)){
$vzkaz2 = wordwrap($zaznam["vzkaz"],30, "<br>", 1);
$vzkaz = nl2br($vzkaz2);

A nejde to ?:-(
nightfish
Profil
while ($zaznam = MySQL_Fetch_Array($dotaz)) {
$vzkaz2 = wordwrap($zaznam["vzkaz"],30, "\n", 1);
$vzkaz = nl2br($vzkaz2);
echo $vzkaz;
}

takhle by to mělo fungovat (resp. zápis je správný)
Fejtis
Profil
A co třeba takle
while($zaznam = MySQL_Fetch_Array($dotaz)){
$vzkaz = nl2br(wordwrap($zaznam["vzkaz"],30, "<br>", 1));
echo $vzkaz;
}
Toto téma je uzamčeno. Odpověď nelze zaslat.