asp.net过滤html,Asp.Net中过滤所有的Html标签

今天在制作一个显示文章列表的页面,从数据库中读出文章标题及部分内容显示到页面上,可以让读者在列表中就可以了解到该文章的大概。完成后却发现了一个问题,就是在翻页后有些页面显示的不完整了,或者页面布局全变乱了,但有几页却没有。查看有问题页面的源代码,发现原来是因为文章内容中包含了HTML代码,然后我在读取部分内容的时候就简单的在数据库中用了left函数,所以导致读出了未封闭的HTML标签了,显示到页面上后和页面自身的HTML标签一结合,布局就全乱了。

原因找出来了,就寻找解决问题的方法.

解决方法一:将读出来的内容经过HTML编码后再输出到页面上,该方法虽不会引起界面布局错乱的问题,但浏览者会看到一大串HTML标签,毕竟不是很友好。于是该方法淘汰。

解决方法二:过滤掉读出内容所有HTML标签,这样即不会让浏览者看到不应该看到的HTML标签,也不会引发页面布局错乱.

下面贴出过滤掉所有HTML标签的方法,供大家参考:

/// 

/// 过滤所有的Html标签

/// 

/// 

/// 

public static string RemoveHTML(string Htmlstring)

{

Htmlstring = Regex.Replace(Htmlstring, @"", "",RegexOptions.IgnoreCase);

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, @"