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

开发者在线 Builder.com.cn 更新时间:2007-12-11作者:佚名 来源:中国自学编程网

本文关键词: C# HTML 代码 函数

用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;
}

查看本文来源

用户评论

  • 用户名
  • 评论内容