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

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

27.05.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 + " …";
    }
}

Web

  1. 27.05.2008 v 20:29 | #1

    Tak aspon hellip, ne? ;)

  2. 27.05.2008 v 20:31 | #2

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

  1. Žádný trackback.