主页 > 知识库 > ASP.NET过滤HTML字符串方法总结

ASP.NET过滤HTML字符串方法总结

热门标签:电销业务 科大讯飞语音识别系统 百度AI接口 客户服务 电商新玩法 人工智能 国美全国运营中心 网站排名优化

本文实例讲述了ASP.NET过滤HTML字符串的方法,供大家参考使用,具体代码如下:

///  summary>去除HTML标记 
///     
///  /summary>   
///  param name="Htmlstring">包括HTML的源码/param>   
///  returns>已经去除后的文字/returns>   
public static string GetNoHTMLString(string Htmlstring) 
{ 
  //删除脚本   
  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(); 

  return Htmlstring; 
} 

/// summary>获取显示的字符串,可显示HTML标签,但把危险的HTML标签过滤,如iframe,script等。 
///  
/// /summary> 
/// param name="str">未处理的字符串/param> 
/// returns>/returns> 
public static string GetSafeHTMLString(string str) 
{ 
  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); 
  return str; 
} 
您可能感兴趣的文章:
  • asp.NET 脏字过滤算法 修改版
  • asp.NET 脏字过滤算法
  • ASP.NET过滤器的应用方法介绍
  • asp.net 过滤图片标签的正则
  • ASP.NET环境下为网站增加IP过滤功能
  • ASP.NET过滤HTML标签只保留换行与空格的方法
  • ASP.NET中的URL过滤实现代码
  • asp.net 脏字典过滤问题 用正则表达式来过滤脏数据
  • Asp.net之数据过滤浅析
  • ASP.NET过滤类SqlFilter,防止SQL注入
  • 高效.NET脏字过滤算法与应用实例

标签:厦门 益阳 攀枝花 POS机 枣庄 咸宁 拉萨 南平

巨人网络通讯声明:本文标题《ASP.NET过滤HTML字符串方法总结》,本文关键词  ;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 收缩
    • 微信客服
    • 微信二维码
    • 电话咨询

    • 400-1100-266