-1

我正在尝试从字符串中删除 HTML 标签。现在我可以删除完整的 HTML 标签,例如<div class="test">dadsasdsad</div>给我输出dadsasdsad

但我无法删除部分标签,如class="test">dadsasdsad</div>testing<div class=

我使用的正则表达式是

strippedText[i] = fragments[i]
                   .replace(/<(?:.|\n)*?>/gm, '')
                   .replace(replaceAT, '<span style=font-weight:800>')
                   .replace(replaceET, '</span>');

这里fragments[i]包含输入<div class="test">dadsasdsad</div>

4

3 回答 3

2
strippedText[i] = fragments[i]
// full tags
.replace(/<[^>]+>/gm, '')
// partial tags
.replace(/^[^>]+>/gm, '')
.replace(/<[^>]+$/gm, '');

请注意,^ 有不同的含义:括号内的“不”,括号外的“开始”。

/gm 对于部分标签应该不是必需的,但我留下了它们,因为我不知道你的上下文以及你如何获得部分标签。

于 2012-11-23T23:48:16.270 回答
0

使用javascript你可以这样做:

function removeHTMLTags(htmlString) {
    if(!htmlString) { return; }
    var mydiv = document.createElement("div");
    mydiv.innerHTML = htmlString;
    return mydiv.textContent || mydiv.innerText || '';
}

[资源]

于 2012-07-20T08:55:55.063 回答
0

我的简单JavaScript 库有一个名为“strip_tags()”的函数,它为您完成了长时间的工作。

只需说您有一个带有 HTML 格式标记的句子,并且您想删除它们,只需这样做:

strip_tags("<p>This <em>sentence</em> contains <strong>a lot</strong> of tags!</p>");

这将输出“这句话包含很多标签!” (在文档网站上测试)。

要了解有关此功能的更多信息,请阅读http://docs.funcjs.webege.com/strip_tags().html上的文档,如果可能,请通过网站上的反馈表留下反馈。

希望这可以帮助您和其他有同样问题的人!:)

于 2012-11-23T23:39:20.973 回答