0

我对正则表达式不太擅长,所以我正在为此寻求帮助。

我想知道什么是删除所有 html 标签的正则表达式,但以下内容除外。

  1. 大胆的
  2. 斜体
  3. 强调
  4. 新队

多谢你们。希望你能帮我解决这个问题。

4

4 回答 4

1

我不确定为什么其他答案认为您需要解析 HTML。您只需要替换一些模式而不是其他模式。因此,您使用回调函数进行正则表达式替换...

var keep = {
    b: true,
    i: true,
    u: true,
    br: true
};

html.replace(/<\/?([a-z]+) ?[^>]*>/g, function(wholeMatch, tagName)
{
    if (keep[tagName]) {
        return wholeMatch;
    }

    return '';
});
于 2015-02-12T09:34:53.123 回答
1

用空字符串替换正则表达式<[]>.*?</[]> 并收集到[]所有包含标签中,例如<[mas]>.*?</[mas]>捕获<m>anything</m> <a>anything</a> <s>anything</s>

于 2012-07-06T15:14:59.883 回答
1

除此之外的笑话,不要尝试使用正则表达式解析 HTML,使用 HTML 解析器。它会让你的生活变得轻松。

谷歌一些东西或在这里搜索关于“HTML解析器”+您选择的语言。

于 2012-07-06T15:16:29.290 回答
-1
  • 您可以先使用正则表达式将 Bold 、 Italic 、 Underline Tags 替换为 Temp 字符串
  • 然后将所有html标签替换为纯文本
  • 将临时字符串替换回粗体、斜体、下划线标记

下面是带有详细代码的链接。

http://techierocks.com/2018/07/remove-html-tags-css-styling-except-bold-italic-underline-new-line.html

于 2018-07-31T14:33:26.610 回答