拆分文本以避免某些情况(Javascript)

拆分文本以避免某些情况(Javascript),javascript,split,Javascript,Split,我正在尝试将如下html拆分为字符串: <p class='class1'> Hello, this is my html </p> 你好,这是我的html 我需要的是通过空格分割html,忽略分割中的html标记,我目前得到以下结果: ["<p","class='class1'>","Hello,","this","is","my","html","</p>"] ["<p class='class1'>","Hello,","t

我正在尝试将如下html拆分为字符串:

<p class='class1'> Hello, this is my html </p>

你好,这是我的html

我需要的是通过空格分割html,忽略分割中的html标记,我目前得到以下结果:

["<p","class='class1'>","Hello,","this","is","my","html","</p>"]
["<p class='class1'>","Hello,","this","is","my","html","</p>"]
[“”、“你好”、“这”、“是”、“我的”、“html”和“

”]
但我需要它将标签作为一个完整的单词来处理,以获得以下结果:

["<p","class='class1'>","Hello,","this","is","my","html","</p>"]
["<p class='class1'>","Hello,","this","is","my","html","</p>"]
[“

”、“你好”、“这”、“是”、“我的”、“html”、“

”]
我怎样才能得到这个结果

编辑:

在javascript方面,我使用了一个简单的拆分:

var text = "<p class='class1'> Hello, this is my html </p>";
var splitText = text.split(' ');
var text=“

你好,这是我的html

”; var splitText=text.split(“”);
在这种情况下,拆分文本将是:

["<p","class='class1'>","Hello,","this","is","my","html","</p>"]
[“”、“你好”、“这”、“是”、“我的”、“html”和“

”]
我尝试使用“/[,\s]+/”之类的正则表达式,但结果是:

var text = "<p class='class1'> Hello, this is my html </p>";
var splitText = text.split(/[<.*?>,\s]+/);

splitText = ["p class='class1'","Hello,","this","is","my","html","/p"]
var text=“

你好,这是我的html

”; var splitText=text.split(/[,\s]+/); splitText=[“p class='class1'”、“你好”、“这”、“是”、“我的”、“html”、“/p”]
提前谢谢。

var a=$(“

你好,这是我的html

”;
var a = $("<p class='class1'>Hello, this is my html</p>");
var b = a.html().split(' ');
a.html('');
var c = a[0].outerHTML.split('><');
b.splice(0, 0,c[0]+'>');
b.splice(b.length+1, 0,'<'+c[1]);
var b=a.html().split(“”); a、 html(“”); var c=a[0].outerHTML.split('>');
b、 剪接(b.length+1,0,我通过使用一个简单的正则表达式和匹配方法得到了这个结果

var text = "<p class='class1'><p class='class2'>Hello world!</p></p>";
var splitText = text.match(/[\<].+?[\>]+|[^\s]+/g);

//splitText -> 
//["<p class='class1'>","<p class='class2'>","Hello","world!","</p>","</p>"]
var text=“

你好,世界!

”; var splitText=text.match(/[\]+|[^\s]+/g); //拆分文本-> //[“

”、“

”、“你好”、“世界!”、“

”、“

”]

谢谢@你的答案:“/p>请把你的脚本放在这里。你需要考虑嵌套HTML标签还是只带文本节点子节点的标签?不,我需要结果来对待每个标签就像一个词,不管它是否在另一个标签里面。所以如果我有:

你好,世界

我希望我的结果是:
[“

”,“

”,“你好”,“世界”,“

”,“

”]