Javascript HTML字符串转换为标记数组和内部内容

Javascript HTML字符串转换为标记数组和内部内容,javascript,arrays,regex,split,match,Javascript,Arrays,Regex,Split,Match,我试图匹配HTML标记及其内部内容,并将每个匹配项放入一个数组(标记及其内部内容) 我能够自己匹配标签并将它们放入一个数组中,但我不确定如何获得标签的内部内容 // Example String let str = "<p><b>Label:</b>Value<p></p><p><b>New Line Label:</b>Value 2</p></p>";

我试图匹配HTML标记及其内部内容,并将每个匹配项放入一个数组(标记及其内部内容)

我能够自己匹配标签并将它们放入一个数组中,但我不确定如何获得标签的内部内容

// Example String
let str = "<p><b>Label:</b>Value<p></p><p><b>New Line Label:</b>Value 2</p></p>";
console.log(str.match(/\<.*?\>/gi)) // Output ["<p>", "<b>", "</b>", "<p>", "</p>", "<p>", "<b>", "</b>", "</p>", "</p>"]


// Expected Output
["<p>", "<b>", "Label:", "</b>", "Value", "<p>", "</p>", "<p>", "<b>", "New Line Label:", "</b>", "Value 2", "</p>", "</p>"]
//示例字符串
let str=“标签:值

新行标签:值2

”; console.log(str.match(/\/gi))//输出[“”、“,”、“”、“”、“”、“,”、“,”、“”、“] //预期产量 [“”、“、”标签“、”、”值“、””、“”、“”、“、”新行标签“、”、”值2“、“

”、“

”]

这可以在单个正则表达式匹配中处理,还是需要进行匹配,然后返回上一个结束标记以获取内部内容?

您可以使用DOMParser API,然后继续迭代每个节点的子节点

let doc=new DOMParser().parseFromString(“标签:Value新行标签:Value 2

”,“text/html”) console.log(doc.children)//DOM节点
有了它,您就可以从字符串中构造出一个完整的DOM,然后对它应用您想要的任何函数