JavaScript: Zkrácení textu na daný počet znaků
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 + " …";
}
}
Tak aspon hellip, ne?
Šťourale! Nechť každý projeví jistou míru kreativity a tu entitu tam nacpe