JS – Acortar frases

Publicado por Iván Gajate el 16 de julio de 2013 en JavaScript

Y aquí el equivalente en JavaScript a mi acortador de frases en ActionScript 🙂
La gracia está en que no corta las palabras, siempre corta por un espacio en blanco.
Al final de la frase pone puntos suspensivos (…) salvo que se le pase otra cadena como tercer parámetro.
 

 

function shortenString(cadena, maxCharacters, append) {
	if (cadena.length <= maxCharacters) {
		return cadena;
	}
	if(append === '' || append === undefined){
		append = '...';   
	}
	maxCharacters -= append.length;
	// Complete word after blank space
	if (cadena.substr(maxCharacters, 1) == " ") {
		return cadena.substr(0, maxCharacters) + append;
	}
	// Incomplete word
	cadena = cadena.substr(0, maxCharacters);
	var lastCharacter = cadena.lastIndexOf(" ");
	cadena = cadena.substr(0, lastCharacter) + append;
	return cadena;
}

Devuelve esto:

var miTexto = "Vero eros et accumsan et iusto odio dignissim qui blandit praesent";
 
alert(shortenString(miTexto, 50));
// Vero eros et accumsan et iusto odio dignissim...

 

Un comentario para “JS – Acortar frases”

  1. También se puede hacer por css con text-overflow:ellipsis