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

2009年3月27日星期五

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


0 评论:

发表评论