我在同一主题上搜索了太多,但并不完全符合我的要求。
我有一个像这样的字符串:
var string ='<strong><span>Hii </span> <p>this is just a demo <span>string<span></p></strong>'
现在我想要的是使用 javascript 子字符串函数限制它的子字符串,但不希望标签在中间被剪切,例如
<strong><span>Hii </span> <p
应该是这样的
<strong><span>Hii </span> <p>
我正在使用
string.substr(0,200)
字符串是带有html标签的动态变量
最佳答案
我的解决方案:
function smart_substr(str, len) {
var temp = str.substr(0, len);
if(temp.lastIndexOf('<') > temp.lastIndexOf('>')) {
temp = str.substr(0, 1 + str.indexOf('>', temp.lastIndexOf('<')));
}
return temp;
}
关于带有 html 标签的 Javascript 子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29699098/