从字符串中删除html标记

时间:2012-07-20 08:52:09

标签: javascript html regex

我正在尝试从字符串中删除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>;

3 个答案:

答案 0 :(得分:2)

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

注意^具有不同的含义:括号内的“not”,括号外的“start”。

部分标签不需要

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

答案 1 :(得分:0)

使用javascript即可:

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

<子> [Source]

答案 2 :(得分: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处的文档,如果可能,请通过网站上的反馈表留下反馈。

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