Avatar billede fixbabe Nybegynder
18. juni 2006 - 09:59 Der er 4 kommentarer og
1 løsning

Forkorte sætning

Hvordan "forkorter" jeg en sætning?

Jeg har et nyheds script hvor der skal stå

Nyheds titel
nyhed: så søgte jeg på ekspe...

Hvordan laver jeg .. og hvordan bestemmer længden på den sætning?
Avatar billede jensgram Nybegynder
18. juni 2006 - 10:03 #1
Hvis du er ligeglad med, om teksten bliver klippet midt i et ord, så prøv:

$nyhed = substr($nyhed, 0, 25) . '...'; // 25 tegn
Avatar billede iss Novice
18. juni 2006 - 10:04 #2
Avatar billede jensgram Nybegynder
18. juni 2006 - 10:05 #3
Skal det være lidt pænere kan du benytte noget lignende:

function klip($tekst, $laengde = 50, $tolerance = 10) // $laengde og $tolerance kan udelades
{
    $punktum  = strpos(substr($tekst, $laengde-$tolerance, 2*$tolerance), "."); // position af punktum
    $mellemrum = strpos(substr($tekst, $laengde-$tolerance, 2*$tolerance), " "); // position af mellemrum
    $mere      = "..."; // punktummer hvis mere tekst

    if (strlen($tekst) <= $laengde + $tolerance) {
        $slut_pos = strlen($tekst); // slutposition = slut på tekst, da denne er kortere end $laengde og $tolerance
        $mere = ""; // ikke andet
    } elseif ($punktum !== false) {
        $slut_pos = $laengde-$tolerance+$punktum; // slutposition = punktum
    } elseif ($mellemrum !== false) {
        $slut_pos = $laengde-$tolerance+$mellemrum; // slutposition = mellemrum
    } else {
        $slut_pos = $laengde; // slutposition $laengde (ikke noget at gøre - skær ord over)
    }

    return substr($tekst, 0, $slut_pos) . $mere; // udskriv del + evt. punktummer
}


hvor du kalder den som:

$nyhed = klip($nyhed, 25, 5);

Den vil klippe strengen "nyhed" ved 25tegn +/- 5 tegn => 20-30 tegn
Avatar billede fixbabe Nybegynder
11. august 2006 - 20:17 #4
jensgram hvis du smider et svar så vi kan få lukket, det virker perfekt :)
Avatar billede jensgram Nybegynder
11. august 2006 - 21:56 #5
Såådan!
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
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

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