C#字符串去除html格式

在使用Freetextbox等流行编辑器后获得的文字内容里会掺杂着一些html标记,有时会需要将它们处理掉,这里给出处理的方法,使用了正则表达式进行规则过滤,由于html标记都是基于<>这种格式,而且还有类似&nbsp;这样的符号,所以分了2次处理将字符串处理为无html格式的字符串。

简易代码:

public string NoHtml(string html)
{
    string StrNohtml = System.Text.RegularExpressions.Regex.Replace(html, "<[^>]+>", "");
    StrNohtml = System.Text.RegularExpressions.Regex.Replace(StrNohtml, "&[^;]+;", "");
    return StrNohtml;
}

功能增强代码:

public string NoHTML(string Htmlstring)  //替换HTML标记
{
    //删除脚本
    Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);

    //删除HTML
    Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"([\r\n])[\s]+", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", "\"", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "\xa1", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "\xa2", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "\xa3", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "\xa9", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&#(\d+);", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"<img[^>]*>;", "", RegexOptions.IgnoreCase);
    Htmlstring.Replace("<", "");
    Htmlstring.Replace(">", "");
    Htmlstring.Replace("\r\n", "");
    Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
    return Htmlstring;
}

转自:http://www.cnblogs.com/wangpei/archive/2009/01/06/1370513.html

时间: 2024-10-20 23:44:25

C#字符串去除html格式的相关文章

如何识别一个字符串是否Json格式

前言: 距离上一篇文章,又过去一个多月了,近些时间,工作依旧很忙碌,除了管理方面的事,代码方面主要折腾三个事: 1:开发框架(一整套基于配置型的开发体系框架) 2:CYQ.Data 数据层框架(持续的更新,最近也加入了Sybase的支持) 3:工作流流程图设计器. 由于这三个方面都涉及到Json,所以就谈谈这些天在Json上花下的心思. 关于造轮子: 很多人对于造轮子都会有自己的看法,这里提一下个人的观点: 个人认为: 1:首要是要具备造轮子的能力,然后再讨论造不造与浪不浪.轮子与时间的问题.

iOS中ASCII字符串转UTF8格式

iOS中ASCII字符串转UTF8格式,可调用下面这个方法: -(NSString *)gb2312toutf8:(NSData *) data { NSStringEncoding enc =             CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingGB_18030_2000); NSString *retStr = [[NSString alloc] initWithData:data encoding:e

浅谈:字符串、时间格式的转换

字符串与时间格式的转换 -----常用的方法:1.拼接字符串的格式[String类型的一些常用的方法]: 2.simpledateformat格式 3.Date格式 1.SimpleDateFormat的用法: 1.1常用的方法: format(Date);将给定Date格式化为日期/时间字符串,并将结果添加到给定的StringBuffer parse(String);解析字符串文本,生成Date类型 2.Date的用法: 3.String的用法: 3.输出当前的时间: Date d = new

字符串和关系格式的转化

在数据库开发过程中,字符串和关系表的转化是一项基本技能.当字符串中存在分隔符时,有时将其转换成关系表数据,和其他数据表进行join查询,出现这种情况,是因为没有遵守关系数据库的设计范式,没有把字符串拆分成原子项存储,也有可能是数据传参数:有时会遇到相反的情况,需要将关系表的相关数据拼接成一个字符串显示,或传参. 把格式化的字符串转化成关系格式,基本思路分为两种: 利用TSQL的循环语句:每一次循环都插入到关系表变量或临时表中,这种思路是面向过程的编程: 使用XML查询:先把字符串转化成XML格式

js字符串转为日期格式

1. <script type="text/javascript"> //字符串转日期格式,strDate要转为日期格式的字符串 function getDate(strDate){ var date = eval('new Date(' + strDate.replace(/\d+(?=-[^-]+$)/, function (a) { return parseInt(a, 10) - 1; }).match(/\d+/g) + ')'); return date; }

原生电话号码字符串得到正确格式的电话号码字符串数组

/** * 由原生电话号码字符串得到正确格式的电话号码字符串数组 * @param tel原生电话号码字符串 * @return */ private String[] getTelNums(String tel) { String [] telNums=new String[]{"0"}; String regEx ="(\\(\\d{3,4}\\)|\\d{3,4}-|\\s)?\\d{7,14}"; String s=""; Pattern

python的u&#39;字符串&quot;(字符编码):字符串前有u,表示字符串以unicode格式存储

举个例子 >>> s = u'\u6ce8\u91ca' >>> s u'\u6ce8\u91ca' >>> print s 注释 >>> print type(s) <type 'unicode'> >>> print s.encode('gbk') 注释 字符串前加u表示为unicode编码,而当前文本的unicode编码 可以设定, 比如utf-8编码就是第一行加上: # -*- coding: u

js字符串去除连续或全部重复字符

js字符串去除连续重复字符 ()和\number 配合使用表示重复正则第number个括号内匹配到的内容,如:(\d)\1表示重复第一个匹配块(\d)即等价于如果(\d)匹配到a,则表达式为aa 相应的可以:(some)\1* 或(some)\1+或(some)\1? 表示重复第一个匹配快得到的内容 任意次或者 至少一次或 一次or零次 1 var s = "1122333455"; 2 3 var s1 = s; 4 var c; 5 var cc = s.match(/(\d)\1

拼接字符串 去除所有可能的重复

比如拼接2个页面的某信息 A页面 : 1.2.3.4.5 B页面: 2.3.4.5.6. 拼接后 只需要  1.2.3.4.5.6 不需要 1.2.2.3.3.4.4.5.5.6 var geoCoords = worldfoot.Replace(" ", "").Replace("\r\n", "").Split(new string[] { "]," }, StringSplitOptions.Remo