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. 【xsy1019】小A的树论

    题意 三种操作: ①区间增值 ②某一个点换父亲 ③求子树和 \(1\leq n\leq 100000\) 分析 Splay维护dfn序. 小结 (1)使用Splay,通常要在Splay的两端各添加一个 ...

  2. SPSS数据分析—非线性回归

    线性回归的首要满足条件是因变量与自变量之间呈线性关系,之后的拟合算法也是基于此,但是如果碰到因变量与自变量呈非线性关系的话,就需要使用非线性回归进行分析. SPSS中的非线性回归有两个过程可以调用,一 ...

  3. Recover Binary Search Tree [LeetCode]

    Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...

  4. Java之美[从菜鸟到高手演变]之设计模式

    设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用.多数人知晓的.经过分类编目的.代码设计经验的总结.使用设计模式是为了 ...

  5. 0518Scrum项目5.0

    1.团队成员完成自己认领的任务. 2.燃尽图:理解.设计并画出本次Sprint的燃尽图的理想线.参考图6. 3.每日立会更新任务板上任务完成情况.燃尽图的实际线,分析项目进度是否在正轨.    每天的 ...

  6. user-select : 保护版权内容的简单方案

    有的适合我们需要保护我们页面的内容,为了版权或者安全等原因,这个适合我们可以使用 user-select 这个CSS属性,简单易用. 嗯,这个属性不麻烦,而且也不是 CSS 3 / CSS 4 的新属 ...

  7. 一个getjson()方式调用实例【前后台】,适于跨域访问。

    题记:首次发个随笔,把以前写的一个笔记发过来,劝当记录,以供查询. jquery的推出确实解决了大部分程序员都感到头痛的事情,无论是对于UI的访问和处理,还是在一系列的远程访问等方面都有了很大的改善, ...

  8. c# 配置文件之configSections配置(二)

    在很多时候我们需要自定义我们自己的自定义App.config 文件,而微软为我们提供了默认的 System.Configuration.DictionarySectionHandler System. ...

  9. realestate.cei.gov.cn

    using AnfleCrawler.Common; using System; using System.Collections.Concurrent; using System.Collectio ...

  10. Python开发入门与实战11-单元测试

    11. 单元测试 本章节我们来讲讲django工程中如何实现单元测试,单元测试如何编写以及在可持续项目中单元测试的重要性. 下面是单元测试的定义: 单元测试是开发者编写的一小段代码,用于检验被测代码的 ...