1. public static string FilterHtml(string string_include_html)
  2. {
  3. string[] HtmlRegexArr ={
  4. #region Html 正则数组
  5. @"<script[^>]*?>.*?</script>",
  6. @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
  7. @"([\r\n])[\s]+",
  8. @"&(quot|#34);",
  9. @"&(amp|#38);",
  10. @"&(lt|#60);",
  11. @"&(gt|#62);",
  12. @"&(nbsp|#160);",
  13. @"&(iexcl|#161);",
  14. @"&(cent|#162);",
  15. @"&(pound|#163);",
  16. @"&(copy|#169);",
  17. @"&#(\d+);",
  18. @"-->",
  19. @"<!--.*\n"
  20. #endregion
  21. };
  22. string[] HtmlReplaceArr = {
  23. #region 替换Html字符
  24. "",
  25. "",
  26. "",
  27. "\"",
  28. "&",
  29. "<",
  30. ">",
  31. " ",
  32. "\xa1",
  33. "\xa2",
  34. "\xa3",
  35. "\xa9",
  36. "",
  37. "\r\n",
  38. ""
  39. #endregion
  40. };
  41. string string_no_html = null;
  42. for (int i = ; i < HtmlRegexArr.Length; i++)
  43. {
  44. System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(HtmlRegexArr[i], System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  45. string_no_html = regex.Replace(string_include_html, HtmlReplaceArr[i]);
  46. }
  47. string_no_html.Replace("<", "");
  48. string_no_html.Replace(">", "");
  49. string_no_html.Replace("\r\n", "");
  50. return string_no_html;
  51. }

以上来至网络,但个人认为还是不行。故有以下自己写的:

  1. /// <summary>
  2. /// 将Html标签转化为空
  3. /// </summary>
  4. /// <param name="strHtml">待转化的字符串</param>
  5. /// <returns>经过转化的字符串</returns>
  6. public static string GetStringNoHtml(string string_include_html)
  7. {
  8. if (String.IsNullOrEmpty(string_include_html))
  9. {
  10. return "";
  11. }
  12. else
  13. {
  14. string_include_html = string_include_html.Replace("<BR>", "\r\n").Replace("<br>", "\r\n");
  15. //第一种
  16. string string_no_html = System.Text.RegularExpressions.Regex.Replace(string_include_html, @"(<script[^>]*?>.*?</script>)|(<(.[^>]*)>)", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  17. return string_no_html.Replace("&nbsp;", " ");
  18. //第二种
  19. //return System.Text.RegularExpressions.Regex.Replace(string_include_html, @"(<script[^>]*?>.*?</script>)|(<(.[^>]*)>)|(&nbsp;)", "", System.Text.RegularExpressions.RegexOptions.IgnoreCase);
  20. }
  21. }
 
 
 
 
 

过滤HTML代码的更多相关文章

  1. php 安全过滤函数代码

    php 安全过滤函数代码,防止用户恶意输入内容. //安全过滤输入[jb] function check_str($string, $isurl = false) { $string = preg_r ...

  2. 取缔Chrome装载电脑管家的广告过滤脚本代码

    今天Chrome调试脚本.加载在下面的脚本中找到的内容: /* 电脑管家chrome 广告过滤 */ var GJAD_CS = { elemhideElt : null, setElemhideCS ...

  3. c# 过滤HTML代码 源代码,案例 下载

    #region 过滤HTML代码 //替换掉html字符,只显示文字信息. public string replaceHtmlCode(string Htmlstring) { Htmlstring ...

  4. yii过滤xss代码,防止sql注入

    作者:白狼 出处:www.manks.top/article/yii2_filter_xss_code_or_safe_to_database 本文版权归作者,欢迎转载,但未经作者同意必须保留此段声明 ...

  5. ItemCF_基于物品的协同过滤_MapReduceJava代码实现思路

    ItemCF_基于物品的协同过滤 1.    概念 2.    原理 如何给用户推荐? 给用户推荐他没有买过的物品--103 3.    java代码实现思路 数据集: 第一步:构建物品的同现矩阵 第 ...

  6. Maven打包时过滤测试代码或指定特定的测试类(maven-surefire-plugin)

    1.过滤整个测试代码,可以直接在命令行上指定 mvn clean install -Dmaven.test.skip=true 提示:以上为举例,具体的构建阶段可以自定义,其中maven.test.s ...

  7. asp.net c#过滤html代码,净化DIV SPAN等

    public static string GetSafeHtml(string val) { if (string.IsNullOrEmpty(val)) { return string.Empty; ...

  8. 解决Ext.TextField的AllowBlank不能过滤空格代码

    Ext过滤空格 重写了组件... Ext.apply(Ext.form.TextField.prototype, { validator : function(text) { if (this.all ...

  9. Yii-CHtmlPurifier- 净化器的使用(yii过滤不良代码)

    1. 在控制器中使用: public function actionCreate() { $model=new News; $purifier = new CHtmlPurifier(); $puri ...

  10. PHP-preg_replace过滤字符串代码

    $str=preg_replace("/\s+/", " ", $str); //过滤多余回车       $str=preg_replace("/& ...

随机推荐

  1. Struts2 报 Result 错误

    写的时候犯了个低级错误  struts.xml中 配置result 的时候 没有配置type

  2. Android layout_weight的用法

    android:layout_weight是指LinearLayout先给里面的控件分配完大小之后剩余空间的权重. 下面通过举例说明: <LinearLayout xmlns:android=& ...

  3. python 从文件导入分类

    # -*- coding:utf-8 -*- """ 从文件导入分类 根据行首制表符或空格确定层级关系(4个空格等于一个制表符 同一行制表符和空格不能混用 ) 必须是 u ...

  4. 【61测试】【dp】【二分】【前缀和】【树剖】

    不要问我为什么昨天考的今天才贴解题报告.. 第一题: 给定3个字符串,求它们的最长公共子序列. 解: 考试时知道肯定是LCS的二维再加一维,用三维,可天堂有路你不走,地狱无门你偏来...灵机一动想出来 ...

  5. 计算机网络(1)-----网络层IP协议概述

    网络层(Network Layer) 概念 网络层是OSI参考模型中的第三层,介于传输层和数据链路层之间,它在数据链路层提供的两个相邻端点之间的数据帧的传送功能上,进一步管理网络中的数据通信,将数据设 ...

  6. 教你看懂GERBER中的钻孔(.txt)文件

    PCB在制作的时候也会导出相应钻孔的坐标位置,但是发现网上很少有关于这方面的资料,而一些项目中,可能就会用到钻孔的坐标信息,今天就抛下砖. M48 ;Layer_Color=9474304  % 图层 ...

  7. zlhome.com Deal

    using AnfleCrawler.Common; using System; using System.Collections.Generic; using System.Linq; using ...

  8. highcharts异步获取数据

    页面异步代码 $(function () { var chart_validatestatics; $(document).ready(function () { var options_valida ...

  9. linux命令:which

    1.命令介绍: which用来在指定的路径搜索某个系统命令的位置,并返回第一个搜索结果. 2.命令格式: which [选项] 系统命令 3.命令参数: -n  指定文件名长度,指定的长度必须大于或等 ...

  10. codeforces 682C Alyona and the Tree(DFS)

    题目链接:http://codeforces.com/problemset/problem/682/C 题意:如果点v在点u的子树上且dist(u,v)>a[v]则u和其整个子树都将被删去,求被 ...