如何用正则表达式去掉html标签

 我来答
创业者李孟
高粉答主

2016-01-20 · 数码领域创作者
个人认证用户
创业者李孟
采纳数:7947 获赞数:39410

向TA提问 私信TA
展开全部
1、正则表达式去掉html标签代码如下:
/// <Header> /// 去除 HTML tag
/// </Header>
/// <param name="HTML">源</param>
/// <returns>结果</returns> public static string StripHTML(string HTML) //google "StripHTML" 得到{ string[] Regexs =
{
@"<script[^>]*?>.*?</script>",
@"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
@"([\r\n])[\s]+",
@"&(quot|#34);",
@"&(amp|#38);",
@"&(lt|#60);",
@"&(gt|#62);",
@"&(nbsp|#160);",
@"&(iexcl|#161);",
@"&(cent|#162);",
@"&(pound|#163);",
@"&(copy|#169);",
@"&#(\d+);",
@"-->",
@"<!--.*\n"
};

string[] Replaces =
{
"",
"",
"",
"\"",
"&",
"<",
">",
" ",
"\xa1", //chr(161), "\xa2", //chr(162), "\xa3", //chr(163), "\xa9", //chr(169), "",
"\r\n",
""
};

string s = HTML;
for (int i = 0; i < Regexs.Length; i++)
{
s = new Regex(Regexs[i], RegexOptions.Multiline | RegexOptions.IgnoreCase).Replace(s, Replaces[i]);
}
s.Replace("<", "");
s.Replace(">", "");
s.Replace("\r\n", "");
return s;
}
}
2、可以直接复制到txt,然后保存成为.html,在浏览器中设置即可!
tcxsdhy
推荐于2018-03-29 · 知道合伙人互联网行家
tcxsdhy
知道合伙人互联网行家
采纳数:144 获赞数:545
擅长并长期从事基于lamp架构的全栈开发

向TA提问 私信TA
展开全部

这是js清楚html标签的表达式,不用语言可能会有些不同,但是区别不大。

<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Document</title>
        <style type="text/css">
        #div1.active{background: yellow;}
        #div1 div{width: 100px;height: 200px;display: none;}
        </style>
        <script type="text/javascript">
        window.onload=function()
        {
            var oDiv="<div id='div1'>"
                        +"<input type='button' value='1'/>"
                        +"<input type='button' value='2'/>"
                        +"<input type='button' value='3'/>"
                        +"<input type='button' value='4'/>"
                        +"<div>11</div>"
                        +"<div>22</div>"
                        +"<div>33</div>"
                        +"<div>44</div>"
                    +"</div>";
            console.log(oDiv+"\n");
            console.log(oDiv.replace(/<\/{0,}[a-z](.+?)>/gi,""));
        }
        </script>
    </head>
    <body>
        <div id='div1'>
            <input type="button" value="1"/>
            <input type="button" value="2"/>
            <input type="button" value="3"/>
            <input type="button" value="4"/>
            <div>11</div>
            <div>22</div>
            <div>33</div>
            <div>44</div>
        </div>
    </body>
</html>


什么是正则表达式?

正则表达式,又称正规表示法、常规表示法(英语:Regular Expression,在代码中常简写为regex、regexp或RE),计算机科学的一个概念。正则表达式使用单个字符串来描述、匹配一系列符合某个句法规则的字符串。在很多文本编辑器里,正则表达式通常被用来检索、替换那些符合某个模式的文本。

许多程序设计语言都支持利用正则表达式进行字符串操作。例如,在Perl中就内建了一个功能强大的正则表达式引擎。正则表达式这个概念最初是由Unix中的工具软件(例如sed和grep)普及开的。正则表达式通常缩写成“regex”,单数有regexp、regex,复数有regexps、regexes、regexen。

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
淡然且缤纷丶好汉v
2016-01-15 · TA获得超过6128个赞
知道大有可为答主
回答量:1241
采纳率:88%
帮助的人:573万
展开全部
  protected void Page_Load(object sender, EventArgs e)
  {
  //string regexstr = @"<[^>]*>"; //去除所有的标签
  //@"<script[^>]*?>.*?</script >" //去除所有脚本,中间部分也删除
  // string regexstr = @"<img[^>]*>"; //去除图片的正则
  // string regexstr = @"<(?!br).*?>"; //去除所有标签,只剩br
  // string regexstr = @"<table[^>]*?>.*?</table>"; //去除table里面的所有内容
  string regexstr = @"<(?!img|br|p|/p).*?>"; //去除所有标签,只剩img,br,p
  str = Regex.Replace(str, regexstr, string.Empty, RegexOptions.IgnoreCase);
  }
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fd3b7a3
2016-01-15
知道答主
回答量:6
采纳率:0%
帮助的人:6813
展开全部
使用 “<[^<]*>” 然后创建一个RegEXP对象 过滤

这是表达式内容,至于表达式的规范我就不说了
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式