我有一个字符串:
<p>text1</p>
<p>text2 <span class="theClass">text3</span></p>
我需要实现的是将此字符串拆分为包含html标记和纯文本的数组。类似的东西:
var array= ["<p>", "text1", "</p>", ...];
我已尝试使用regexp:/(?=<)|(?<=>)/g
,但javascript不允许我使用lookbehind表达式。关于如何做到这一点的任何想法?
答案 0 :(得分:2)
这应该适合你:
const data = `<p>text1</p>
<p>text2 <span class="theClass">text3</span></p>`
const split = data => data.split(/(<.*?>)/g).filter(x => x.trim())
console.log(split(data))
&#13;