查看: 2357|回复: 0

[.NET开发] C#正则过滤HTML标签并保留指定标签的方法

发表于 2018-2-9 08:00:00

本文实例讲述了C#正则过滤html标签并保留指定标签的方法。分享给大家供大家参考,具体如下:

这边主要看到一个过滤的功能:

  1. public static string FilterHtmlTag(string s)
  2. {
  3. //<...>标记正则表达式
  4. return Regex.Replace(s, @"<[^>]*>", delegate(Match match)
  5. {
  6. string v = match.ToString();
  7. //图片,<p>,<br>正则表达式
  8. Regex rx = new Regex(@"^<(p|br|img.*)>$",
  9. RegexOptions.Compiled | RegexOptions.IgnoreCase); //
  10. if (rx.IsMatch(v))
  11. {
  12. return v; //保留图片,<p>,<br>
  13. }
  14. else
  15. {
  16. return ""; //过滤掉
  17. }
  18. });
  19. }
复制代码

我这边所有都过滤,所以我直接用正则,不再做匿名委托的保留p和br

  1. content = Regex.Replace(content, @"/\<span(\sclass\=\S*)*\>\S*\<\/span\>/g", "", RegexOptions.IgnoreCase);
  2. content = Regex.Replace(content, @"<[^>]*>", "", RegexOptions.IgnoreCase);
  3. content = content + "。。。";
复制代码

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.jb51.net/regex/javascript

正则表达式在线生成工具:
http://tools.jb51.net/regex/create_reg

更多关于C#相关内容感兴趣的读者可查看本站专题:《C#正则表达式用法总结》、《C#编码操作技巧总结》、《C#常见控件用法教程》、《WinForm控件用法总结》、《C#数据结构与算法教程》、《C#面向对象程序设计入门教程》及《C#程序设计之线程使用技巧总结》

希望本文所述对大家C#程序设计有所帮助。

您可能感兴趣的文章:

  • c#中过滤html的正则表达式
  • 常用正则 常用的C#正则表达式
  • C#使用正则表达式实例
  • C# 正则表达式经典分类整理集合手册
  • c#匹配整数和小数的正则表达式
  • C#正则表达式使用方法示例
  • c#使用正则表达式匹配字符串验证URL示例
  • C#正则表达式匹配HTML中的图片路径,图片地址代码
  • c#判断字符是否为中文的三种方法分享(正则表达式判断)
  • C#的正则表达式Regex类使用简明教程
  • C#使用正则表达式过滤html标签
  • C#基于正则表达式抓取a标签链接和innerhtml的方法


回复

使用道具 举报