Javascript 如何将HTML字符串拆分为单词和标记数组

Javascript 如何将HTML字符串拆分为单词和标记数组,javascript,regex,Javascript,Regex,如何将HTML字符串拆分为一个数组,以便每个单词都是数组中的一个项目,包括围绕它的标记 //So this string: var myHTMLString = "Something, something <span @click='changeSelected(0)' id='0' class='wrong'>else</span> is foo <span @click='changeSelected(0)' id='0' class='wrong'>he

如何将HTML字符串拆分为一个数组,以便每个单词都是数组中的一个项目,包括围绕它的标记

//So this string:
var myHTMLString = "Something, something <span @click='changeSelected(0)' id='0' class='wrong'>else</span> is foo <span @click='changeSelected(0)' id='0' class='wrong'>hello world</span> to all.";

//Would become this:
var HTMLAry = ["Something,", "something", "<span @click='changeSelected(0)' id='0' class='wrong'>else</span>", "is", "foo", "<span @click='changeSelected(0)' id='0' class='wrong'>hello world</span>", "to", "all."];

创建一个元素,将元素html设置为您的字符串,获取子节点,在空格上拆分文本节点并过滤空值,获取其他节点的outerHTML,然后展平数组

var myHTMLString=Something,Something是一个向所有人问好的世界。; var el=document.createElement'div'; el.innerHTML=myHTMLString; var arr=Array.fromel.childNodes.mape=>e.outerHTML | | e.nodeValue.split'。filtert=>t; console.log[].concat.apply[],arr