Ví um post do Igor Escobar mostrando uma função de truncar palavras em php. Aí eu lembrei que um dia precisei fazer isso em javascript e resolvi postar tal função. A função tem dois parâmetros, o texto e o limite de caracteres, e retorna sempre o texto com “…” no final. Veja a função:
function truncar(texto,limite)
{
if(texto.length>limite)
{
limite--;
last = texto.substr(limite-1,1);
while(last!=' ' && limite > 0)
{
limite--;
last = texto.substr(limite-1,1);
}
last = texto.substr(limite-2,1);
if(last == ',' || last == ';' || last == ':')
{
texto = texto.substr(0,limite-2) + '...';
}
else if(last == '.' || last == '?' || last == '!')
{
texto = texto.substr(0,limite-1);
}
else
{
texto = texto.substr(0,limite-1) + '...';
}
}
return texto;
}
Agora vamos fazer uns testes:
var mensagem = "O técnico do Corinthians até elogiou a atuação de Rodrigo Martins Cintra.";
alert(truncar(mensagem,70));
/* Retorno = O técnico do Corinthians até elogiou a atuação de Rodrigo Martins... */
alert(truncar(mensagem,60));
/* Retorno = O técnico do Corinthians até elogiou a atuação de Rodrigo... */
alert(truncar(mensagem,50));
/* Retorno = O técnico do Corinthians até elogiou a atuação... */
alert(truncar(mensagem,40));
/* Retorno = O técnico do Corinthians até elogiou a... */
alert(truncar(mensagem,30));
/* Retorno = O técnico do Corinthians até... */
alert(truncar(mensagem,20));
/* Retorno = O técnico do... */
alert(truncar(mensagem,80));
/* Retorno = O técnico do Corinthians até elogiou a atuação de Rodrigo Martins Cintra. */
Truncar texto em javascript - Abreviar sem cortar palavras
Ví um post do Igor Escobar mostrando uma função de truncar palavras em php. Aí eu lembrei que um dia precisei fazer isso em javascript e resolvi postar tal função. A função tem dois parâmetros, o texto e o limite de caracteres, e retorna sempre o texto com “…” no final. Veja a função:
function truncar(texto,limite)
{
if(texto.length>limite)
{
limite--;
last = texto.substr(limite-1,1);
while(last!=' ' && limite > 0)
{
limite--;
last = texto.substr(limite-1,1);
}
last = texto.substr(limite-2,1);
if(last == ',' || last == ';' || last == ':')
{
texto = texto.substr(0,limite-2) + '...';
}
else if(last == '.' || last == '?' || last == '!')
{
texto = texto.substr(0,limite-1);
}
else
{
texto = texto.substr(0,limite-1) + '...';
}
}
return texto;
}
Agora vamos fazer uns testes:
var mensagem = "O técnico do Corinthians até elogiou a atuação de Rodrigo Martins Cintra.";
alert(truncar(mensagem,70));
/* Retorno = O técnico do Corinthians até elogiou a atuação de Rodrigo Martins... */
alert(truncar(mensagem,60));
/* Retorno = O técnico do Corinthians até elogiou a atuação de Rodrigo... */
alert(truncar(mensagem,50));
/* Retorno = O técnico do Corinthians até elogiou a atuação... */
alert(truncar(mensagem,40));
/* Retorno = O técnico do Corinthians até elogiou a... */
alert(truncar(mensagem,30));
/* Retorno = O técnico do Corinthians até... */
alert(truncar(mensagem,20));
/* Retorno = O técnico do... */
alert(truncar(mensagem,80));
/* Retorno = O técnico do Corinthians até elogiou a atuação de Rodrigo Martins Cintra. */