ASP.NET中过滤HTML字符串的两个方法

简介: 先记下来,以作备用!        ///   去除HTML标记        ///               ///              ///   包括HTML的源码           ///   已经去除后的文字           public static string G...

先记下来,以作备用!

         ///     <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;
        }

 

 

目录
相关文章
|
23天前
html中div内容居中的方法使用弹性盒子居中
html中div内容居中的方法使用弹性盒子居中
8 0
HTML输出特殊字符详细方法
以下是部分特殊字符代码表,它们的完整应用代码格式为:`&#××××;`用下面的四位数字替换×,将得到对应的符号。(注意:应用这些代码,编辑器应该切换到HTML模式)
|
3月前
|
存储 安全 JavaScript
如何安全的渲染HTML字符串?
如何安全的渲染HTML字符串?
|
4月前
|
JavaScript 前端开发
JavaScript DOM 操作:如何选中一个 HTML 元素?有哪些方法?
JavaScript DOM 操作:如何选中一个 HTML 元素?有哪些方法?
65 1
|
2月前
|
小程序
微信小程序中识别HTML标签的方法
微信小程序中识别HTML标签的方法
|
2月前
|
JavaScript
Vue中嵌入原生HTML页面的方法
Vue中嵌入原生HTML页面的方法
98 0
|
6月前
|
移动开发 JavaScript 前端开发
【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)
【前端用法】html5实现地理位置定位(JS获取当前地理位置的方法)
125 0
|
2月前
|
前端开发 JavaScript 安全
react如何渲染包含html标签元素的字符串
react如何渲染包含html标签元素的字符串
55 0
|
3月前
|
数据采集 安全 JavaScript
​HTML代码混淆技术:原理、应用和实现方法详解
​HTML代码混淆技术:原理、应用和实现方法详解
68 0
|
4月前
|
存储 JSON JavaScript
详细介绍AngularJS中与HTML DOM交互的各种方法和技术
详细介绍AngularJS中与HTML DOM交互的各种方法和技术
120 0