C#正则过滤HTML标签并保留指定标签的方法
本文实例讲述了C#正则过滤HTML标签并保留指定标签的方法。分享给大家供大家参考,具体如下:
这边主要看到一个过滤的功能:
public static string FilterHtmlTag(string s) { //<...>标记正则表达式 return Regex.Replace(s, @"<[^>]*>", delegate(Match match) { string v = match.ToString(); //图片,<p>,<br>正则表达式 Regex rx = new Regex(@"^<(p|br|img.*)>$", RegexOptions.Compiled | RegexOptions.IgnoreCase); // if (rx.IsMatch(v)) { return v; //保留图片,<p>,<br> } else { return ""; //过滤掉 } }); }
我这边所有都过滤,所以我直接用正则,不再做匿名委托的保留p和br
content = Regex.Replace(content, @"/\<span(\sclass\=\S*)*\>\S*\<\/span\>/g", "", RegexOptions.IgnoreCase); content = Regex.Replace(content, @"<[^>]*>", "", RegexOptions.IgnoreCase); 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的正则表达式
实现代码 /// <summary> /// 去除HTML标记 /// </summary> /// <param name="NoHTML">包括HTML的源码 </param> /// <returns>已经去除后的文字</returns> public static string NoHTML(string Htmlstring) { //删除脚本 Htmlstring = Regex.Replace(Htm
-
C#使用正则表达式实例
正则表达式可以被看成是一个强大的通配符(通用匹配符号).大多数人都应该很熟悉通配符,例如,当我们看到一个诸如"SAMS"的表达式,那么一个文本串中任何以SAMS开头的字符串都可以与这个表达式匹配.正则表达式提供了比这种通配符能力更强.控制规则更复杂.功能更完善的匹配机制. 本文将对.NET框架提供的支持正则表达式的类做一个概要介绍.要想获得有关正则表达式的更多知识,可参考<Regular Expression Pocket Reference >(O'Reilly Medi
-
常用正则 常用的C#正则表达式
常用的C#正则表达式! "^\d+$" //非负整数(正整数 + 0) "^[0-9]*[1-9][0-9]*$" //正整数 "^((-\d+)|(0+))$" //非正整数(负整数 + 0) "^-[0-9]*[1-9][0-9]*$" //负整数 "^-?\d+$" //整数 "^\d+(\.\d+)?$" //非负浮点数(正浮点数 + 0) "^(([0-9
-
c#使用正则表达式匹配字符串验证URL示例
在System.Text.RegularExpression命名空间里,有正则表达式方法. 复制代码 代码如下: using System.Collections.Generic; using System.Text;using System.Text.RegularExpressions; namespace RegexDemo{ class Program { static void Main(string[] args) { R
-
c#判断字符是否为中文的三种方法分享(正则表达式判断)
1.用ASCII码判断 在 ASCII码表中,英文的范围是0-127,而汉字则是大于127,具体代码如下: 复制代码 代码如下: string text = "是不是汉字,ABC,柯乐义"; for (int i = 0; i < text.Length; i++) { if ((int)text[i] > 127) Console.WriteLine("是汉字");
-
C#正则表达式匹配HTML中的图片路径,图片地址代码
一般来说一个 HTML 文档有很多标签,比如"<html>"."<body>"."<table>"等,想把文档中的 img 标签提取出来并不是一件容易的事.由于 img 标签样式变化多端,使提取的时候用程序寻找并不容易.于是想要寻找它们就必须写一个非常健全的正则表达式,不然有可能会找得不全,或者找出来的不是正确的 img 标签.我们可以从 HTML 标签的格式去想应该怎么建这个正则表达式.首先要想一下 img
-
c#匹配整数和小数的正则表达式
匹配整数的一种表达式: Regex.IsMatch(inputerstr, "^([0-9]{1,})$") 其中Inputerstr是要匹配的字符串 这个表达式仅匹配整数,如果是整数形式返回true,否则为false 匹配小数格式的表达式: Regex.IsMatch(inputerstr, "^([0-9]{1,}[.][0-9]*)$") 其中Inputerstr是要匹配的字符串 这个表达式仅匹配数字中有小数点格式的数字,如果是带有小数点格式的纯数字,返回tr
-
C#基于正则表达式抓取a标签链接和innerhtml的方法
本文实例讲述了C#基于正则表达式抓取a标签链接和innerhtml的方法.分享给大家供大家参考,具体如下: //读取网页html string text = File.ReadAllText(Environment.CurrentDirectory + "//test.txt", Encoding.GetEncoding("gb2312")); string prttern = "<a(\\s+(href=\"(?<url>([
-
C# 正则表达式经典分类整理集合手册第1/3页
有一段时间,正则表达式学习很火热很潮流,当时在CSDN一天就能看到好几个正则表达式的帖子,那段时间借助论坛以及Wrox Press出版的<C#字符串和正则表达式参考手册>学习了一些基础的知识,同时也为我在CSDN大概赚了1000分,今天想起来,去找<C#字符串和正则表达式参考手册>时,已经不知所踪了.(1)"@"符号 符下两ows表研究室的火热,当晨在"@"虽然并非C#正则表达式的"成员",但是它经常与C#正则表达式出双入
-
C#正则表达式使用方法示例
第一步先要引入有关正则式的命名空间: 复制代码 代码如下: using System.Text.RegularExpressions; 第二步用指定的正则式构建一个正则表达式对象,下面的正则式是用来搜索长度为10的a-z的英文字母: 复制代码 代码如下: Regex obj = new Regex("[a-z]{10}"); 最后,根据正则式在指定数据中检索匹配项,如果匹配IsMatch方法就会返回true. 复制代码 代码如下: MessageBox.Show(obj.IsMatch
-
C#使用正则表达式过滤html标签
在项目中遇到这样一个需求,需要将一段html转换为一般文本返回,万能的正则表达式来了. 正则表达式来拯救你,代码如下: public static string Html2Text(string htmlStr) { if (String.IsNullOrEmpty(htmlStr)) { return ""; } string regEx_style = "<style[^>]*?>[\\s\\S]*?<\\/style>"; //定
-
C#的正则表达式Regex类使用简明教程
C#中为正则表达式的使用提供了非常强大的功能,这就是Regex类.这个包包含于System.Text.RegularExpressions命名空间下面,而这个命名空间所在DLL基本上在所有的项目模板中都不需要单独去添加引用,可以直接使用. 1.定义一个Regex类的实例 复制代码 代码如下: Regex regex = new Regex(@"\d"); 这里的初始化参数就是一个正则表达式,"\d"表示配置数字. 2.判断是否匹配 判断一个字符串,是否匹配一个正则表
随机推荐
- DB2常用傻瓜问题1000问(五)
- 浅谈JS日期(Date)处理函数
- AngularJS 防止页面闪烁的方法
- 详解ASP.NET Core应用中如何记录和查看日志
- 原生JS实现自定义滚动条效果
- PHP 分页类代码(简单好用型)第1/2页
- PHP最常用的2种设计模式工厂模式和单例模式介绍
- CentOS系统中PHP安装扩展的方式汇总
- ASP实现SQL备份、恢复
- 更改Mysql root用户密码
- MYSQL数据库初学者使用指南
- jQuery+Ajax实现表格数据不同列标题排序(为表格注入活力)
- avalonjs实现仿微博的图片拖动特效
- 特想搞点新的创意出来-立体方块
- 浅谈sql连接查询的区别 inner,left,right,full
- 微信小程序 增、删、改、查操作实例详解
- Windows 2003操作系统优化技巧
- Android BottomNavigationView底部导航效果
- 你是不是这样写异常处理代码的呢?
- Java实现的RSA加密解密算法示例