Quelqu'un a-t-il une solution / bibliothèque plus sophistiquée pour raccourcir les chaînes avec JavaScript, que la solution évidente:
if(string.length > 25) {
string = string.substring(0,24)+"...";
}
Quelqu'un a-t-il une solution / bibliothèque plus sophistiquée pour raccourcir les chaînes avec JavaScript, que la solution évidente:
if(string.length > 25) {
string = string.substring(0,24)+"...";
}
String.prototype.trunc = String.prototype.trunc ||
function(n){
return this.length>n ? this.substr(0,n-1)+'…' : this;
};
Maintenant vous pouvez faire:
var s = 'not very long';
s.trunc(25); //=> not very long
s.trunc(5); //=> not ...
si par "plus sophistiqué" vous voulez dire: tronquer à la limite du dernier mot d'une chaîne, alors c'est peut-être ce que vous voulez:
String.prototype.trunc =
function(n,useWordBoundary){
var toLong = this.length>n,
s_ = toLong ? this.substr(0,n-1) : this;
s_ = useWordBoundary && toLong ? s_.substr(0,s_.lastIndexOf(' ')) : s_;
return toLong ? s_ + '…' : s_;
};
maintenant tu peux faire:
s.trunc(11,true) //=>not very...
Notez que cela ne doit être fait que pour Firefox.
Tous les autres navigateurs prennent en charge une solution CSS (voir le tableau de support ):
p {
white-space: nowrap;
width: 100%; /* IE6 needs any width */
overflow: hidden; /* "overflow" value must be different from visible"*/
-o-text-overflow: ellipsis; /* Opera < 11*/
text-overflow: ellipsis; /* IE, Safari (WebKit), Opera >= 11, FF > 6 */
}
L'ironie est que j'ai obtenu cet extrait de code de Mozilla MDC.
Plus moderne frameworks Javascript (JQuery, Prototype, etc...) ont une fonction d'utilité qui s'ajoute à la Chaîne qui gère cela.
Voici un exemple de Prototype:
'Some random text'.truncate(10);
// -> 'Some ra...'
Cela semble être une de ces fonctions que vous voulez que quelqu'un d'autre à traiter ou à maintenir. Je laisserais le cadre de la gérer, plutôt que d'écrire plus de code.
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.