拆分文本以避免某些情况(Javascript)
我正在尝试将如下html拆分为字符串:拆分文本以避免某些情况(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
<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标签还是只带文本节点子节点的标签?不,我需要结果来对待每个标签就像一个词,不管它是否在另一个标签里面。所以如果我有:
你好,世界
我希望我的结果是:[“”,“
”,“你好”,“世界”,“
”,“”]