使用<span>以字符串形式包装HTML

时间:2016-09-17 09:05:36

标签: javascript html regex

我有一些HTML表示为字符串。

例如:

var testHTMLString = "<div class='a'>test content</div>"

我希望能够使用正则表达式并通过其标记拆分此HTML字符串,并使用<span class='red'></span>包装分解的标记片段,以突出显示HTML字符串的各个部分

预期结果:

<span class='red'>"<div class='a'>"</span>test content<span class='red'>"</div>"</span>

我似乎无法在我的程序中使正则表达式正确但在正则表达式测试程序中似乎可以正常工作

testHTMLString.split("/<(\/)?div.*?>/g");没有将我的HTML字符串拆分成我想要的部分 - &gt; "<div class='a'>""</div>"

2 个答案:

答案 0 :(得分:0)

你已经回答了你的问题。但您忘记返回已应用的更改:

Donut

这也不完全符合您的要求。这样做:

function highlightTag(pageSource, tag) {
    var re = new RegExp("<(\/)?" + tag + ".*?>", "g");
    newPageSource = pageSource.replace(re, "<span class='red'>" + tag + "</span>");
    return newPageSource;
}

答案 1 :(得分:-3)

大多数情况下,您不应使用RegExp来解析HTML。使用浏览器的HTML解析功能可以轻松解决包装元素,请参阅Wrapping a set of DOM elements using JavaScript