06. maj 2008 - 01:14Der er
20 kommentarer og 1 løsning
highlight_string og fast bredde.
Hej E.
Sidder og roder lidt med highlight_string og er rendt ind i et problem. Pr default udskifter den alle mellemrum med hvilket er helt fint, for at beholde indrykningen.
Det er også helt fint, hvis det ikke var fordi at man er nødt til at sidde og lave sin kode pæn, så den passer til bredden på siden.
Er der nogle måder at tvinge den til at skifte linje og stadig se pæn ud med indrykning osv.
Denne side indeholder artikler med forskellige perspektiver på Identity & Access Management i private og offentlige organisationer. Artiklerne behandler aktuelle IAM-emner og leveres af producenter, rådgivere og implementeringspartnere.
Hvad med bare at smide det imellem <div style="overflow:auto"> </div> - Så beholder du al formattering, men der kommer scrollbars på, horisontalt, hvis den er bredere end DIV'en?
Så ser det da fint ud - Der kommer scrollbars, som er inden for bredden osv...
Alternativt skal du løbe teksten igennem, linje for linje og checke bredden, og bryde linjen hvis den er for lang og sætte ekstra mellemrum på de(n) nye linjer ;P
heheh joh, så skal det bare gøres før highlight_string:
$maxlen = 50; $txt = <<<EOT Det er fedt nok. Det er fedt nok. Det er fedt nok Dette er en test. Denne linje er mere end 50 tegn lang Det er fedt nok. Det er fedt nok. Det er fedt nok EOT;
if ( preg_match( "/^[^\n]{".($maxlen+1).",}$/m", $txt ) ) { echo "En linje må maksimalt være " . $maxlen . " tegn lang."; } else { echo "Ok! :)"; }
det jeg tænker på er at f.eks. i fylder jo væsentligt mindre end f.eks. m... og så duer det ikke rigtigt at tjekke om der er mere end 50 tegn, eller hvad man nu skal bruge. :S
Jeg kan ikke lige komme på en nem måde. Så skal du enten tegne teksten med GD-lib (imagettfstring) og bruge imagettfbbox, eller lave noget ajax hejs og få en span til at rapportere dens længde... Det ville være lettere hvis du brugte en font med en fast bredde, som f.eks. courier, så kunne du bare bruge antal tegn til at beregne bredden...
well kan fortælle dig at det IKKE er courier, for har linie numre på i kode outputtet, og der kan jeg at at første tegn, alt 0'et i 01 ændrer sig, og det er også det.
har prøvet med css og med font face osv. intet virker. :S
men tror lige jeg skal have kigget koden ordentligt igennem, for det er noget jeg har lavet for 8 måneder siden, som jeg har taget op igen.
Det var nu i tilfælde af at jeg havde fået smidt en ind. :P som sagt det er 8 mdr siden jeg lavede det. :)
Synes godt om
Ny brugerNybegynder
Din løsning...
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.