Nie jestem zawodowcem JS, ale wymyśliłem kilka sposobów, w jakie możesz to zrobić.
HTML:
<p id="truncate">Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi elementum consequat tortor et euismod. Nam commodo consequat libero vel lobortis. Morbi ac nisi at leo vehicula consectetur.</p>
Następnie za pomocą jQuery przycinasz go do określonej liczby znaków, ale zostawiasz ostatnie słowo w ten sposób:
// Truncate but leave last word
var myTag = $('#truncate').text();
if (myTag.length > 100) {
var truncated = myTag.trim().substring(0, 100).split(" ").slice(0, -1).join(" ") + "…";
$('#truncate').text(truncated);
}
Wynik wygląda następująco:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
elementumsequat tortor et…
Możesz też po prostu przyciąć go do określonej liczby znaków, takich jak to:
// Truncate to specific character
var myTag = $('#truncate').text();
if (myTag.length > 15) {
var truncated = myTag.trim().substring(0, 100) + "…";
$('#truncate').text(truncated);
}
Wynik wygląda następująco:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Morbi
elementumsequat tortor et euismod…
Mam nadzieję, że to trochę pomoże.
Oto jsFiddle .