Autor Zpráva
Prochy
Profil
Zdravim,
chtěl jsem se zeptat, jak definovat výšku textarey, když mám nějaký neznámý výchozí text z db. Nedělá mi problém text, kde není použit enter. Ale jakmile se v textu objeví, tak nevim co s tím. Dejme tomu, že si zjistím, že v textu byl použit 3x Enter, to znamená, že tam jsou min. tři řádky. Potom zjistim, že tam je celkem 500 znaků a na 80 znakové šířce, což mi dá dalších 7 řádků. Ale jak to skloubit s tím odEntrováním, abych tam neměl potom navíc např. 10 prázdných řádků navíc.
Děkuji za odpověď.
Jan Tvrdík
Profil
Tohle by mohlo fungovat:
$lines = 1;
$pos = 0;
for ($i = 0; $i < strlen($s); $i++) {
    if ($s[$i] === "\n" || $pos === 80) {
        $lines++;
        $pos = 0;
    } else {
        $pos++;
    }
}
Prochy
Profil
Bohužel ten váš kód mi nefungoval. Nakonec jsem sesmolil tento funkční kód:
public function sizeTextArea($text,$cols){
        $lines = 0;      
        $ary=explode(chr(13),$text);        
        $rows=0;
        foreach($ary as $line){
          $rows+=strlen($line)/$cols+1;  
        }
        return $rows;
    }

Vaše odpověď

Mohlo by se hodit


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0