Avatar billede msoee Nybegynder
29. december 2003 - 18:59 Der er 2 kommentarer

Tekst på bestemt længde

Hej jeg er lige blevet nogenlunde færdig med selve designet på www.msoee.dk men har et lille problem, jeg vil gerne have at (nede i venstre hjørne) af siden står seneste 4 tags, men vil gerne have at den bare viser en max længde på 34 bogstaver pr linje altså "navn+tekst" = 34 og så at den tilføjer "..." efter hvis tagget er over 34 bogstaver incl. navn og tekst...
og et andet problem er som i kan se, at den også tager linje skift med, kan det undgåes?
Avatar billede fangel Nybegynder
29. december 2003 - 19:06 #1
$txt = $navn . ": " . $tekst;
$showntxt = (strlen($txt) > 34) ? substr($txt, 0, 34) . "..." : $txt;
echo $showntxt

du kan prøve at fjerne alle "<br>"-er og alle "\n"-er for at fjerne linieskift...

Morten
Avatar billede repsac Nybegynder
05. januar 2004 - 01:56 #2
Er det ikke rarere at stoppe ved ord i stedet for eventuelt at stoppe midt i et ord?

Her en lille funktion der kan hjælpe dig med det:

function get_words($str, $words) {
    $i = 0;
    $wc = 0;
    while ($i < strlen($str)  &&  $wc < $words) {
        if ($str[$i] == ' ') {
            $wc++;
        }
        $i++;
    }
    return substr($str, 0, $i);
}

I kombination med noget www.php.net/str_replace så går det nok :-)

Det er unødvendigt at fjerne \n'erne, fjern bare <br> (og <br />...), det er rigeligt.
Avatar billede Ny bruger Nybegynder

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.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester