C# 正则表达式,去除所有HTML标签

转载 2015年03月01日 16:58:58
protected string str = "<table><tr><td>sdasasdsdd</td></tr></table><br><p>sds</p><img id='img1' src='http://www.baidu.com/img/baidu_logo.gif' width='100' height='50' alt=''>aaassss<br><img src='http://www.baidu.com/img/baidu_logo.gif' width='100' height='50' alt=''> 说是道 ";

    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);

    }

 

 

 

 

 

ASP.NET 去除所有HTML标记 < type="text/javascript">function StorePage(){d=document;t=d.selection?(d.selection.type!='None'?d.selection.createRange().text:''):(d.getSelection?d.getSelection():'');void(keyit=window.open('http://www.365key.com/storeit.aspx?t='+escape(d.title)+'&u='+escape(d.location.href)+'&c='+escape(t),'keyit','scrollbars=no,width=475,height=575,left=75,top=20,status=no,resizable=yes'));keyit.focus();}
注意:需要先using  System.Text.RegularExpressions;  

/**////   <summary>   
  ///   去除HTML标记   
  ///   </summary>   
  ///   <param   name="NoHTML">包括HTML的源码   </param>   
  ///   <returns>已经去除后的文字</returns>   
  public   static   string   NoHTML(string   Htmlstring)   
  {   
  //删除脚本   
  Htmlstring   =   Regex.Replace(Htmlstring,@"<script[^>]*?>.*?</script>","",RegexOptions.IgnoreCase);   
  //删除HTML   
  Htmlstring   =   Regex.Replace(Htmlstring,@"<(.[^>]*)>","",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"([\r\n])[\s]+","",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"-->","",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"<!--.*","",RegexOptions.IgnoreCase);   
    
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(quot|#34);","\"",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(amp|#38);","&",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(lt|#60);","<",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(gt|#62);",">",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(nbsp|#160);","   ",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(iexcl|#161);","\xa1",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(cent|#162);","\xa2",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(pound|#163);","\xa3",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,@"&(copy|#169);","\xa9",RegexOptions.IgnoreCase);   
  Htmlstring   =   Regex.Replace(Htmlstring,   @"&#(\d+);","",RegexOptions.IgnoreCase);   
    
  Htmlstring.Replace("<","");   
  Htmlstring.Replace(">","");   
  Htmlstring.Replace("\r\n","");   
  Htmlstring=HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();   
    
  return   Htmlstring;   
  }


/**////提取HTML代码中文字的C#函数     
  ///   <summary>   
  ///   去除HTML标记   
  ///   </summary>   
  ///   <param   name="strHtml">包括HTML的源码   </param>   
  ///   <returns>已经去除后的文字</returns>   
  using   System;   
  using   System.Text.RegularExpressions;   
  public   class   StripHTMLTest{   
      public   static   void   Main(){   
          string   s=StripHTML("<HTML><HEAD><TITLE>中国石龙信息平台</TITLE&gt;</HEAD><BODY>faddfs龙信息平台</BODY></HTML>");   
          Console.WriteLine(s);   
      }   
    
      public   static   string   StripHTML(string   strHtml){   
          string   []   aryReg   ={   
                      @"<script[^>]*?>.*?</script>",   
    
                      @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(http://www.cnblogs.com/xchit/admin/file://[%22%22'tbnr]%7c[%5e/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   []   aryRep   =   {   
                        "",   
                        "",   
                        "",   
                        "\"",   
                        "&",   
                        "<",   
                        ">",   
                        "   ",   
                        "\xa1",//chr(161),   
                        "\xa2",//chr(162),   
                        "\xa3",//chr(163),   
                        "\xa9",//chr(169),   
                        "",   
                        "\r\n",   
                        ""   
                      };   
    
          string   newReg   =aryReg[0];   
          string   strOutput=strHtml;   
          for(int   i   =   0;i<aryReg.Length;i++){   
              Regex   regex   =   new   Regex(aryReg[i],RegexOptions.IgnoreCase);   
              strOutput   =   regex.Replace(strOutput,aryRep[i]);   
          }   
          strOutput.Replace("<","");   
          strOutput.Replace(">","");   
          strOutput.Replace("\r\n","");   
          return   strOutput;   
      }   
  }

写一个静态方法   
  移除HTML标签#region   移除HTML标签   
  /**////   <summary>   
  ///   移除HTML标签   
  ///   </summary>   
  ///   <param   name="HTMLStr">HTMLStr</param>   
  public   static   string     ParseTags(string   HTMLStr)   
  {   
  return   System.Text.RegularExpressions.Regex.Replace(HTMLStr,   "<[^>]*>",   "");     
  }   
    
  #endregion   
    
                  取出文本中的图片地址#region   取出文本中的图片地址   
                  /**////   <summary>   
                  ///   取出文本中的图片地址   
                  ///   </summary>   
                  ///   <param   name="HTMLStr">HTMLStr</param>   
                  public   static   string   GetImgUrl(string   HTMLStr)   
                  {   
                          string   str   =   string.Empty;   
                          string   sPattern   =   @"^<img\s+[^>]*>";   
                          Regex   r   =   new   Regex(@"<img\s+[^>]*\s*src\s*=\s*([']?)(?<url>\S+)'?[^>]*>",   
                                  RegexOptions.Compiled);   
                          Match   m   =   r.Match(HTMLStr.ToLower());   
                          if   (m.Success)   
                                  str   =   m.Result("${url}");   
                          return   str;   
                  }   
    
                  #endregion

去除文字里的html标签的C#方法

/// /// 清除文本中Html的标签 /// /// /// protected string ClearH...
  • hougelou
  • hougelou
  • 2012年08月23日 18:07
  • 8038

使用C#将HTML文本转换为普通文本,去掉所有的Html标记

using System; using System.Collections.Generic; using System.Linq; using System.Text; //首先需要...
  • Denghejing
  • Denghejing
  • 2014年12月25日 18:29
  • 6501

使用C#将HTML文本转换为普通文本,去掉所有的Html标记

using System; using System.Collections.Generic; using System.Linq; using System.Text; //...
  • my98800
  • my98800
  • 2016年12月06日 09:03
  • 236

C#将内容附带的html标签去掉转成纯文本方法

将内容附带的html标签去掉转成纯文本方法,.net后台在接收或者获取html整段内容时候,可以调用此方法将内容中的html标签过滤掉,转换成纯文本...
  • wangliuran
  • wangliuran
  • 2016年03月05日 15:49
  • 2464

用C#去除字符串中HTML的格式(清除数据库中html标签)

public static string DelHTML(string Htmlstring)//将HTML去除         {                   #region        ...
  • savagelin
  • savagelin
  • 2011年07月14日 10:22
  • 3455

.NET(C#)用正则表达式清除HTML标签(包括script和style),保留纯本文

如今是互联网时代,随时随刻都在接触网页数据。那么对于.NET的开发人员来说,处理网页源码就是有时候就不能避免了。今天给大家分享.NET用正则表达式清除HTML标签的通用方法。使其保留网页源码中的纯文本...
  • my98800
  • my98800
  • 2016年10月25日 08:36
  • 1597

去除C#HTML标签

  • 2010年03月02日 09:54
  • 2KB
  • 下载

C# .Net使用正则表达式去除HTML标记和空格

using System.Text.RegularExpressions; 在进行数据采集,显示文章摘要,内容计数等情况下,需要清除源代码中的html标签,空格,style,script等标签. ...
  • atco
  • atco
  • 2012年02月24日 11:25
  • 5935

C# 去除HTML标签

C# 去除HTML标签 ///         /// 去除HTML标签         ///         ///         ///         public st...
  • fsf869433932
  • fsf869433932
  • 2015年09月08日 18:45
  • 161

移除string字符串中的html标签

//使用ueditor编辑器插入图片时其实存入数据库的是一段html标签//使用Newtonsoft.Json.JsonConvert.SerializeObject(datatable)得到json...
  • CGS_______
  • CGS_______
  • 2016年10月29日 15:32
  • 1376
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:C# 正则表达式,去除所有HTML标签
举报原因:
原因补充:

(最多只允许输入30个字)