Je recherche un script simple qui peut tronquer une chaîne avec des points de suspension (...)
Je veux tronquer quelque chose comme 'this is a very long string'
en 'this is a ve...'
Je ne veux pas utiliser CSS ou PHP.
Je recherche un script simple qui peut tronquer une chaîne avec des points de suspension (...)
Je veux tronquer quelque chose comme 'this is a very long string'
en 'this is a ve...'
Je ne veux pas utiliser CSS ou PHP.
KooiInc a une bonne réponse à cela. Pour résumer:
String.prototype.trunc =
function(n){
return this.substr(0,n-1)+(this.length>n?'…':'');
};
Maintenant vous pouvez faire :
var s = 'not very long';
s.trunc(25); //=> not very long
s.trunc(5); //=> not...
Et si vous le préférez en tant que fonction, selon le commentaire de @AlienLifeForm :
function truncateWithEllipses(text, max)
{
return text.substr(0,max-1)+(text.length>max?'…':'');
}
Tout le mérite revient à KooiInc pour cela.
Pour éviter les points au milieu d'un mot ou après un signe de ponctuation.
let parseText = function(text, limit){
if (text.length > limit){
for (let i = limit; i > 0; i--){
if(text.charAt(i) === ' ' && (text.charAt(i-1) != ','||text.charAt(i-1) != '.'||text.charAt(i-1) != ';')) {
return text.substring(0, i) + '...';
}
}
return text.substring(0, limit) + '...';
}
else
return text;
};
console.log(parseText("1234567 890",5)) // >> 12345...
console.log(parseText("1234567 890",8)) // >> 1234567...
console.log(parseText("1234567 890",15)) // >> 1234567 890
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.