Javascript HTML字符串转换为标记数组和内部内容
我试图匹配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>";
// 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,然后对它应用您想要的任何函数