我正在尝试将一个 html 字符串拆分为一个数组并且惨遭失败。下面的代码去掉了“<”和“>”,但留下了标签名称。
var html = 'line 1
<div>line 2</div>
<div>line <span class="underline">3</span></div>
<div>line <stong>4</string></div>
<p>line <em>5<em></p>
<br> line 6
<br /> line 7
<br/> line 8
<img src=""/>'
var val = html.split(/<\/?(div|p|br)[^>]*>/igm)
console.log (val) // ["↵ line 1↵ ", "div", "line 2", "div", "↵ ", "div", "line <span class="underline">3</span>", "div", "↵ ", "div", "line <strong>4</strong>", "div", "↵ ", "p", "line <em>5</em>", "p", "↵ ", "br", " line 6↵ ", "br", " line 7↵ ", "br", " line 8↵ <img src="">↵"]
有一个更好的方法吗?我意识到我可以使用 dom 操作,但我更喜欢使用正则表达式,因为它与服务器端 js 兼容