javascript - 分割文本避免某些情况(Javascript)

标签 javascript split

我正在尝试将这样的 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/

相关文章:

javascript - linq.js:GroupBy(),然后 ToJSON()

javascript - 谷歌图表,如何在甘特图上添加自定义点?

javascript - 带有由字符分隔的变音符号的 Unicode 字符串

C++ boost::split 首先

javascript - 使用javascript对数组进行排序由字母和数字组成

javascript - 使用 SpriteStage (WebGL) 创建 EaselJS Sprite 动画

javascript - 自动完成——颜色输入建议文本

c++ - 在不知道 UTF-8 编码的情况下拆分空白字符上的 UTF-8 编码字符串

c - strsep() 函数 - 分隔符中包含更多字符

jQuery URL 分割和抓取