C# .Net使用正则表达式去除HTML标记和空格
来源:互联网 发布:linux vsftpd添加用户 编辑:程序博客网 时间:2024/05/21 09:29
using System.Text.RegularExpressions;
在进行数据采集,显示文章摘要,内容计数等情况下,需要清除源代码中的html标签,空格,style,script等标签.
注意下面代码的执行顺序:
1.styleReg:清除样式.如<style>.class{}</style>.全部替换为空.
2.scriptReg和styleReg同样的道理.
3.htmlReg :清除html标签的.输入为<div>aaa</div>,结果为:aaa
4.htmlSpaceReg :html空格 替换为空格
5.spaceReg :把一个以上的空格替换为一个空格
//移除HTML标记 public string RemoveHtml(string src) { Regex htmlReg = new Regex(@"<[^>]+>", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex htmlSpaceReg = new Regex("\\ \\;", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex spaceReg = new Regex("\\s{2,}|\\ \\;", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex styleReg = new Regex(@"<style(.*?)</style>", RegexOptions.Compiled | RegexOptions.IgnoreCase); Regex scriptReg = new Regex(@"<script(.*?)</script>", RegexOptions.Compiled | RegexOptions.IgnoreCase); src = styleReg.Replace(src, string.Empty); src = scriptReg.Replace(src, string.Empty); src = htmlReg.Replace(src, string.Empty); src = htmlSpaceReg.Replace(src, " "); src = spaceReg.Replace(src, " "); return src.Trim(); }
想去掉除段落标记之外的所有html标记,只要页面的文字,好比是把代码贴到记事本的效果:
public static string DelHTML(string Htmlstring)//将HTML去除 { #region //删除脚本 Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase); //删除HTML Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"-->", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"<!--.*", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase); //Htmlstring =System.Text.RegularExpressions. Regex.Replace(Htmlstring,@"<A>.*</A>",""); //Htmlstring =System.Text.RegularExpressions. Regex.Replace(Htmlstring,@"<[a-zA-Z]*=\.[a-zA-Z]*\?[a-zA-Z]+=\d&\w=%[a-zA-Z]*|[A-Z0-9]",""); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(amp|#38);", "&", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(lt|#60);", "<", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(gt|#62);", ">", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring = System.Text.RegularExpressions.Regex.Replace(Htmlstring, @"&#(\d+);", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase); Htmlstring.Replace("<", ""); Htmlstring.Replace(">", ""); Htmlstring.Replace("\r\n", ""); //Htmlstring=HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim(); #endregion return Htmlstring; }
- C# .Net使用正则表达式去除HTML标记和空格
- C# .Net如何获取网站源代码,去除HTML标记和空格!
- C# 替换去除HTML标记方法(正则表达式)
- C# 替换去除HTML标记方法(正则表达式)
- Java 正则表达式去除HTML标记
- 正则表达式 去除相应HTML 标记
- asp去除html标记与空格的正则
- 正则 去除html标记
- js去除空格,使用了正则表达式
- C#去除HTML标记
- C# 去掉HTML标记的正则表达式
- C# 正则表达式,去除所有HTML标签
- javascript 正则表达式 去除空格
- javascript 正则表达式 去除空格
- AS3 去除空格 正则表达式
- C#去除所有HTML标记
- C#字符串去除html标记
- js过滤(去除)富文本编辑器中的html标签和换行回车等标记的正则表达式
- 国外程序员推荐:每个程序员都应读的书
- Linux中netstat命令的用法详解
- SQL中事务
- Android网络多线程断点续传下载
- AmMap创建交互式Flash地图
- C# .Net使用正则表达式去除HTML标记和空格
- ruby入门_next
- SQL游标使用实例
- 排序算法的稳定性
- Git-查看日志
- 【更新】火星人敏捷开发手册2012-02-24新增敏捷计划内容
- 使用sql语句为表字段添加说明(备注)
- 用HASH表进行海量数据搜索
- YUM安装遭遇: [Errno 256] No more mirrors to try