C#实现过滤HTML代码的函数

开发者在线 Builder.com.cn 更新时间:2008-07-18作者: 来源:

本文关键词: 过滤 HTML 实用教程 C#

用C#写了一段正则表达式,作用是删除Page里面Code中的HTML标签,这在做采集信息,消除其中的HTML时,很有用处。

public string checkStr(string html) 
  {
    System.Text.RegularExpressions.Regex regex1 =
      new System.Text.RegularExpressions.Regex(@"<script[sS]+</script *>", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    System.Text.RegularExpressions.Regex regex2 =
      new System.Text.RegularExpressions.Regex(@" href *= *[sS]*script *:", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    System.Text.RegularExpressions.Regex regex3 =
      new System.Text.RegularExpressions.Regex(@" no[sS]*=", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    System.Text.RegularExpressions.Regex regex4 =
      new System.Text.RegularExpressions.Regex(@"<iframe[sS]+</iframe *>", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    System.Text.RegularExpressions.Regex regex5 =
      new System.Text.RegularExpressions.Regex(@"<frameset[sS]+</frameset *>", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    System.Text.RegularExpressions.Regex regex6 =
      new System.Text.RegularExpressions.Regex(@"<img[^>]+>", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase);  
    System.Text.RegularExpressions.Regex regex7 =
      new System.Text.RegularExpressions.Regex(@"</p>", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    System.Text.RegularExpressions.Regex regex8 =
      new System.Text.RegularExpressions.Regex(@"<p>", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    System.Text.RegularExpressions.Regex regex9 =
      new System.Text.RegularExpressions.Regex(@"<[^>]*>", 
      System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
    html = regex1.Replace(html, ""); //过滤<script></script>标记
    html = regex2.Replace(html, ""); //过滤href=javascript: (<A>) 属性
    html = regex3.Replace(html, " _disibledevent="); //过滤其它控件的on...事件
    html = regex4.Replace(html, ""); //过滤iframe
    html = regex5.Replace(html, ""); //过滤frameset
    html = regex6.Replace(html, ""); //过滤frameset
    html = regex7.Replace(html, ""); //过滤frameset
    html = regex8.Replace(html, ""); //过滤frameset
    html = regex9.Replace(html, "");
    html = html.Replace(" ", "");
    html = html.Replace("</strong>", "");
    html = html.Replace("<strong>", "");
    return html;
}

用户评论

  • 用户名
  • 评论内容