首页 > 代码库 > ASP.NET 去除所有HTML标记的方法

ASP.NET 去除所有HTML标记的方法

using System.Text.RegularExpressions

///   <summary>   
技术分享  ///    去除HTML标记   
技术分享  ///   </summary>   
技术分享  ///   <param    name="NoHTML">包括HTML的源码   </param>   
技术分享  ///   <returns>已经去除后的文字</returns>   
技术分享  public   static   string    NoHTML(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;   
技术分享   }

写一个静态方法   
技术分享  #region    移除HTML标签   
技术分享  ///   <summary>   
技术分享  ///    移除HTML标签   
技术分享  ///   </summary>   
技术分享  ///   <param    name="HTMLStr">HTMLStr</param>   
技术分享  public   static   string      ParseTags(string    HTMLStr)   
技术分享  {   
技术分享  return    System.Text.RegularExpressions.Regex.Replace(HTMLStr,   "<[^>]*>",   "");     
技术分享   }   
技术分享    
技术分享  #endregion   
技术分享    
技术分享                  #region    取出文本中的图片地址   
技术分享                  ///   <summary>   
技术分享                  ///    取出文本中的图片地址   
技术分享                  ///   </summary>   
技术分享                  ///   <param    name="HTMLStr">HTMLStr</param>   
技术分享                  public   static   string    GetImgUrl(string    HTMLStr)   
技术分享                  {   
技术分享                          string    str   =   string.Empty;   
技术分享                          string    sPattern   =   @"^<img\s+[^>]*>";   
技术分享                           Regex    r   =   new    Regex(@"<img\s+[^>]*\s*src\s*=\s*([‘]?)(?<url>\S+)‘?[^>]*>",   
技术分享                                   RegexOptions.Compiled);   
技术分享                           Match    m   =    r.Match(HTMLStr.ToLower());   
技术分享                          if    (m.Success)   
技术分享                                   str   =    m.Result("${url}");   
技术分享                          return    str;   
技术分享                   }   
技术分享    
技术分享                  #endregion

ASP.NET 去除所有HTML标记的方法