Autor Zpráva
markétice
Profil
Mám v PHP (diskusi . V textarea se při dlouhém slově řádek zalomí, ale když se příspěvek přidá tak ne. Tak dlouhé slovo sice žádné není, ale někteří chytráci mi tam píšou třeba otazníky přes tři řádky. Pak mi to odsadí celé levé menu a vypadá to hrozně. Jak to udělat, aby se tam buď vložila mezera, nebo se to prodtě nějak zalomilo? Hledala jsem to na Jak psát web a nenašla, myslím že na to není PHP vůbec nutné.
llook
Profil
Funkce wordwrap
Yuhů
Profil
dá se to částečně řešit pomocí CSS tím, že nastavíš textovému bloku šířku a pak si pomocí vlastnosti overflow: hidden; vyžádáš její dodržení. Všechna příliš široká se useknou.

www.jakpsatweb.cz/css/overflow.html
Honza Hučín
Profil
Zkus každý příspěvek po odeslání prohnat touhle funkcí:

<?
function rozsekni_dlouhy($retezec,$mez)
//kazde slovo v promenne $retezec, ktere je delsi nez $mez znaku, rozdeli mezerou ci vice mezerami
{
$pole=explode(" ",$retezec);
while (list($i,$h) = each($pole))
{
if (($delka=strlen($h))>$mez) //pokud delka presahuje povolenou mez
{
$pomretez="";
for ($j=0;$j<($delka/$mez);$j++)
$pomretez .= substr($h,$j*$mez,$mez)." ";
$pole[$i]=$pomretez;
//rozdeli retezec na vic kusu mezerami
}
}
$retezec2=implode($pole," ");
return $retezec2;
}
?>
markétice
Profil
llook: Díky, ještě to budu študovat...

Yuhů: Jo, v CSS si to docela dokážu představit, protože všechno k diskusi, jako písmo, velikosta, barva a tak je nastavené v CSS (pomocí třídy k1, k2, k3, k4).

Honza Hučín: A kam to mám napsat? Potřebuju, aby se to tak udělalo s každým příspěvkem který tam kdo napíše. To nechápu.
llook
Profil
Honza Hučín: Něco podobného dělá ta funkce wordwrap. Jako příklad je v manuálu toto (cituji):
Příklad 2. Ukázka wordwrap()
$text = "Velmi dlouhé slooooooooooovo.";
$newtext = wordwrap( $text, 8, "\n", 1);

echo "$newtext\n";


Tato ukázka by zobrazila:

Velmi
dlouhé
sloooooo
ooooovo.

(konec citace)
Sice tam naseká pár redundantních konců řádku navíc, ale účel splní.
pyty
Profil
ked mas ukladanie v textovom subore, a mas textareu podobne siroku ako sirku aku ches pre prispevky, nastav jej wrap=hard a pouzi funkciu NL2BR($text) ktora prevedie konce riadkov na <br>
Leo
Profil
Idealni je toto resit ne na serveru v PHP, ale v prohlizeci (koneckoncu problem nastava az tam) - pro tu cast kde prispevky vypisujete nastavte sirku a overflow na auto. Kdyz tam nekdo vlozi dlouhy text tak se objevi posuvnik, ale nerozhodi se layout. Leo
Toto téma je uzamčeno. Odpověď nelze zaslat.