1

我想编写一个函数,该函数接收一些文本并根据它具有的换行符数对其进行修剪,我希望它在达到 6 个换行符后修剪并放置“...阅读更多”,有点像Facebook 对评论和墙贴的作用。

谢谢你。

4

2 回答 2

1

您可以使用全局正则表达式的 lastIndex 属性。

var str= 'one\ntwo\nthree\nfour\nfive\nsix\n',
rx=  /((.+\n+){3})/g,
m= rx.exec(str),
cut= rx.lastIndex;
if(cut){
    first3lines= m[1].replace(/\s+$/, '...');
    remainder= str.substring(cut);
}
else{
    first3lines= str;
    remainder= '';
}


alert('first 3 lines:\n'+first3lines+'\n\nremainder:\n'+remainder);
/*  returned value:

first 3 lines:
one
two
three...

remainder:
four
five
six

*/
于 2011-03-27T19:05:38.823 回答
0

这可能很有趣:http ://blog.mattschwarz.me/post/2688505800/introducing-clamp-js

于 2011-03-27T16:53:17.063 回答