learun开发社区 - 力软.net/java快速开发平台官方论坛

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 2165|回复: 2

用C#过滤HTML代码的函数

  [复制链接]

5

主题

5

帖子

21

积分

新手上路

Rank: 1

积分
21
发表于 2019-4-2 08:53:18 | 显示全部楼层 |阅读模式

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

以下是引用片段:

  1. publicstringcheckStr(stringhtml)
  2. {
  3. System.Text.RegularExpressions.Regexregex1=newSystem.Text.RegularExpressions.Regex(@"<script[sS]+</script*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  4. System.Text.RegularExpressions.Regexregex2=newSystem.Text.RegularExpressions.Regex(@"href*=*[sS]*script*:",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  5. System.Text.RegularExpressions.Regexregex3=newSystem.Text.RegularExpressions.Regex(@"no[sS]*=",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  6. System.Text.RegularExpressions.Regexregex4=newSystem.Text.RegularExpressions.Regex(@"<iframe[sS]+</iframe*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  7. System.Text.RegularExpressions.Regexregex5=newSystem.Text.RegularExpressions.Regex(@"<frameset[sS]+</frameset*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  8. System.Text.RegularExpressions.Regexregex6=newSystem.Text.RegularExpressions.Regex(@"<img[^>]+>",System.Text.RegularExpressions.RegexOptions.IgnoreCase); 
  9. System.Text.RegularExpressions.Regexregex7=newSystem.Text.RegularExpressions.Regex(@"</p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  10. System.Text.RegularExpressions.Regexregex8=newSystem.Text.RegularExpressions.Regex(@"<p>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  11. System.Text.RegularExpressions.Regexregex9=newSystem.Text.RegularExpressions.Regex(@"<[^>]*>",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  12. html=regex1.Replace(html,"");//过滤<script></script>标记
  13. html=regex2.Replace(html,"");//过滤href=javascript:(<A>)属性
  14. html=regex3.Replace(html,"_disibledevent=");//过滤其它控件的on...事件
  15. html=regex4.Replace(html,"");//过滤iframe
  16. html=regex5.Replace(html,"");//过滤frameset
  17. html=regex6.Replace(html,"");//过滤frameset
  18. html=regex7.Replace(html,"");//过滤frameset
  19. html=regex8.Replace(html,"");//过滤frameset
  20. html=regex9.Replace(html,"");
  21. html=html.Replace("","");
  22. html=html.Replace("</strong>","");
  23. html=html.Replace("<strong>","");
  24. returnhtml;
  25. }
复制代码



回复

使用道具 举报

0

主题

4

帖子

170

积分

注册会员

Rank: 2

积分
170
发表于 2019-4-17 10:24:11 | 显示全部楼层
向大佬学习
回复

使用道具 举报

0

主题

6

帖子

154

积分

注册会员

Rank: 2

积分
154
发表于 2019-4-18 17:49:46 | 显示全部楼层
板凳
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋|learun开发社区 - 力软.net/java快速开发平台官方论坛 ( 沪ICP备14034717号 )

GMT+8, 2021-4-23 08:19 , Processed in 0.178963 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表