我想编写一个函数,该函数接收一些文本并根据它具有的换行符数对其进行修剪,我希望它在达到 6 个换行符后修剪并放置“...阅读更多”,有点像Facebook 对评论和墙贴的作用。
谢谢你。
我想编写一个函数,该函数接收一些文本并根据它具有的换行符数对其进行修剪,我希望它在达到 6 个换行符后修剪并放置“...阅读更多”,有点像Facebook 对评论和墙贴的作用。
谢谢你。
您可以使用全局正则表达式的 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
*/