代码如下所示:
function TrimLength(text, maxLength) {
text = $.trim(text);
if (text.length > maxLength) {
text = text.substring(0, maxLength - ellipsis.length)
return text.substring(0, text.lastIndexOf(" ")) + ellipsis;
}
else
return text;
}
我遇到的问题是它做了以下事情:
hello world and an...
The curse of the gaming backlog –...
我想确保它改为:
hello world and...
The curse of the gaming backlog...
我想我需要确保有像(a,b,c,d等等)的字母字符,而且没有特殊字符。
感谢任何形式的帮助
答案 0 :(得分:0)
您可能想从这开始:
function cutoff(str, maxLen) {
// no need to cut off
if(str.length <= maxLen) {
return str;
}
// find the cutoff point
var oldPos = pos = 0;
while(pos!==-1 && pos <= maxLen) {
oldPos = pos;
pos = str.indexOf(" ",pos) + 1;
}
if (pos>maxLen) { pos = oldPos; }
// return cut off string with ellipsis
return str.substring(0,pos) + "...";
}
至少根据单词而不是字母给你截止。如果你需要额外的过滤,你可以添加它,但是这会给你一个截止点,比如“游戏积压的诅咒 - ......”这听起来并不错,老实说。