快速为你提供一个javascript魔术师!
我有一个像这样的字符串
var something="a<b>pple</b>";
你可以打破上面这一点,以便得到这样的数组:
the_string[0] would contain "a"
the_string[1] would contain "pple"
基本上,之前的文字 <+ strong>以及标签中的文字。 标签将始终为粗体标签,并采用该格式。
谢谢!
答案 0 :(得分:6)
"a<b>pple</b>".split(/<\/?b>/)
答案 1 :(得分:3)
var the_string = something.split(/<\/?b>/);
答案 2 :(得分:0)
如果您想要保留所有内容但将标签分开,那么该怎么办?
the_string[0] would contain "a"
the_string[1] would contain "<b>"
the_string[2] would contain "pple"
the_string[3] would contain "</b>"
答案 3 :(得分:0)
如果您不知道元素是什么,可以使用:
function getTextAsArray(text) {
var div = document.createElement('div');
div.innerHTML = text;
function getText (element) {
var text = [];
var el, els = element.childNodes;
for (var i=0, iLen=els.length; i<iLen; i++) {
el = els[i];
if (el.nodeType == 1) {
text.push(getText(el));
} else if (el.nodeType == 3) {
text.push(el.data);
}
}
return text;
}
return getText(div);
}
alert(getTextAsArray("a<b>pple</b>")); // a, pple