是否可以通过<b>标签分割字符串?</b>

时间:2014-09-22 01:39:49

标签: javascript html html5 split

例如我有一个字符串:

str = "Hello bob my name is john"

在html中表示为3个实体:

<b>Hello bob</b><b>my name</b><b>is john</b>

有没有办法可以将其分开,以便得到:

["Hello bob", "my name", "is john"]


我知道初始格式不是很好,但是我通过维基媒体api从维基百科中抽取一些文本,并且我希望能够在地图上绘制每个“实体”。我试过用(" ")分裂,但是如果实体包含2个或更多单词,那对我来说显然不是很好!

2 个答案:

答案 0 :(得分:2)

如果我理解你的问题那么你可以用类似的东西来做,

var v = document.getElementById("test");
var str = v.innerHTML;
var arr = str.replace("<b>","").split("</b>");
var out = document.getElementById("out");
out.innerHTML = arr;
<div id="test">
  <b>Hello bob</b> <b>my name</b> <b>is john</b>
</div>
<div id="out">
</div>

答案 1 :(得分:1)

使用此代码。

var s = "<b>Hello bob</b><b>my name</b><b>is john</b>";
var arr = s.match(/<b>.*?<\/b>/g);
for (var i = 0, l = arr.length; i < l; i++) {
    arr[i] = arr[i].replace(/<b>(.*?)<\/b>/, "$1");
}