08. december 2006 - 16:08Der er
4 kommentarer og 1 løsning
Udvidelse af tekstareal.
Dette kan vel være et spørgsmål, som hører hjemme i flere kategorier, men da jeg sidder med php-kode så... Når jeg henter tekst ud fra min database til et tekstfelt, hvordan får jeg så feltet til at øges i højden efterhånden som det bliver udfyldt? - eller blot få den størrelse i højden der passer til mændgen af tekst.
Jeg har lavet en funktion der gør som ønsket, dog er det ikke en 100% bulletproof løsning, som jeg har skrevet i selve koden, tager den f.eks. ikke højde for indrykninger (tabs).
Hvis det er den vej du vil gå, så er der noget at bygge videre på.
Optimalt så finder du en skrifttype hvor alle tegn har samme længde - Lucida Console eksempelvis.
Venlig Hilsen Casper
<?php /* TextareaAutoHeight() Beregn hvor mange rows et TextareaAutoHeight skal være for at kunne indholde Xantal tegn, uden at der kommer scrollbar. !!!! Bemærk tager ikke højde for TABS (\t) !!!! */ function TextareaAutoHeight($data) {
/* Sætter antal tegn der er pr. linie i textarea'et */ $antal_tegn_pr_linie=25;
/* Hvor mange tegn har vi i alt, uden linieskift, da de tæller for en linie hver */ $data_antal_tegn=strlen(str_replace("\n","",$data));
/* Hvor mange linieskift er der */ $tmp=explode("\n",$data); $antal_linieskift=count($tmp)-1;
/* Returnere antal linier der skal være i textarea */ return $antal_linieskift+ceil($data_antal_tegn/$antal_tegn_pr_linie); } print TextareaAutoHeight("idjffdij\nfdfddfdfddffdfdfd\nj\n")
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.