ASP.NET过滤HTML字符串方法总结
本文实例讲述了ASP.NET过滤HTML字符串的方法,供大家参考使用,具体代码如下:
///<summary>去除HTML标记
///
///</summary>
///<paramname="Htmlstring">包括HTML的源码</param>
///<returns>已经去除后的文字</returns>
publicstaticstringGetNoHTMLString(stringHtmlstring)
{
//删除脚本
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.Replace("<","");
Htmlstring.Replace(">","");
Htmlstring.Replace("\r\n","");
Htmlstring=HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();
returnHtmlstring;
}
///<summary>获取显示的字符串,可显示HTML标签,但把危险的HTML标签过滤,如iframe,script等。
///
///</summary>
///<paramname="str">未处理的字符串</param>
///<returns></returns>
publicstaticstringGetSafeHTMLString(stringstr)
{
str=Regex.Replace(str,@"<applet[^>]*?>.*?</applet>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<body[^>]*?>.*?</body>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<embed[^>]*?>.*?</embed>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<frame[^>]*?>.*?</frame>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<script[^>]*?>.*?</script>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<frameset[^>]*?>.*?</frameset>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<html[^>]*?>.*?</html>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<iframe[^>]*?>.*?</iframe>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<style[^>]*?>.*?</style>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<layer[^>]*?>.*?</layer>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<link[^>]*?>.*?</link>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<ilayer[^>]*?>.*?</ilayer>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<meta[^>]*?>.*?</meta>","",RegexOptions.IgnoreCase);
str=Regex.Replace(str,@"<object[^>]*?>.*?</object>","",RegexOptions.IgnoreCase);
returnstr;
}热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短