我正在尝试将这样的 html 拆分为字符串:
<p class='class1'> Hello, this is my html </p>
我需要的是用空格分割该html,忽略分割中的html标签,我目前得到这个结果:
["<p","class='class1'>","Hello,","this","is","my","html","</p>"]
但我需要它将标签视为一个完整的单词,以获得此结果:
["<p class='class1'>","Hello,","this","is","my","html","</p>"]
我怎样才能得到这个结果?
编辑:
在 javascript 方面,我使用简单的拆分:
var text = "<p class='class1'> Hello, this is my html </p>";
var splitText = text.split(' ');
在这种情况下 splitText 将为:
["<p","class='class1'>","Hello,","this","is","my","html","</p>"]
我尝试使用“/[<.*?>,\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 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]);
b 结果为:["<p class="class1">", "Hello,", "this", "is", "my", "html", "</p>"]
注意:此代码仅适用于一维标签
关于javascript - 分割文本避免某些情况(Javascript),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18338283/