JavaScript: Zkrácení textu na daný počet znaků

Posted on: Úterý, Kvě 27, 2008

Po dlouhé době jsem se dostal k tomu, že jsem musel použít JavaScript, tedy jazyk, který nemám rád, technologii, kterou nesnáším. Vojta Kopal a Michal Tuláček mi poradili JavaScriptový framework jQuery, který mi silně usnadnil život. Práce s DOMem je s ním hračkou, stejně tak některé základní animace, případně základy drag’n'drop. Ovšem tady pole působnosti jQuery končí hlubokým příkopem a při práci s textem už vám jQuery nepomůže.

Potřeboval jsem zkrátit text na maximálně n znaků, samozřejmě s ohledem na celá slova a trojtečku, a to pouze v případě, že délka textu je větší než n. Přestože tento kód není žádným skvostem, dávám jej k dispozici, neb jsem na něj pyšný – funguje! :-)

function shorten(string, length){
    if (string.length <= length)
    {
        return string;
    }else
    {
        count = 0;
        output = "";
        words = string.split(" ");
        for(i=0; i < words.length; i++)
        {
            if (count+5+words[i].length <= length)
            {
                if (i != 0) output += " ";
                output += words[i];
                count += words[i].length+1;
            }else
            {
                break;
            }
        }
        return output + " …";
    }
}



Avatar

vojta

Květen 27th, 2008 at 20.29
Permalink this comment

1

Tak aspon hellip, ne? ;)

Avatar

admin

Květen 27th, 2008 at 20.31
Permalink this comment

2

Šťourale! Nechť každý projeví jistou míru kreativity a tu entitu tam nacpe :)