过滤字符串html标签方法,如果输入的过滤标签为“*”,那么给字符串加上p标签

  1. public static string noTagHtml(string str, string tagname)
  2. {
  3. string zz = @"(<" + tagname + ".*?>)|(</" + tagname + ">)";
  4. if (tagname == "script") zz = "(<" + tagname + ".*?>)*(</" + tagname + ">)";
  5. //过滤除P标签的所有标签,不清除P标签里css样式
  6. else if (tagname == "p")
  7. {
  8. //zz = @"</?\s*(?!p|br)+\b[^>]*>";
  9. zz = @"</?\s*(?!br)+\b[^>]*>";
  10. Regex r = new Regex(zz, RegexOptions.IgnoreCase | RegexOptions.Singleline);
  11. str = Regex.Replace(str, zz, "", RegexOptions.IgnoreCase);
  12. str = r.Replace(str, "");
  13. }
  14.  
  15. else if (tagname == "*")
  16. {
  17. zz = @"(<([^>]*)>)";
  18. Regex r = new Regex(zz, RegexOptions.IgnoreCase | RegexOptions.Singleline);
  19. str = Regex.Replace(str, zz, "", RegexOptions.IgnoreCase);
  20. str = r.Replace(str, "");
  21. Regex regex1 = new Regex(@"\n", RegexOptions.IgnoreCase);
  22. str = regex1.Replace(str, "");
  23. Regex regex2 = new Regex(@"\n[\s| ]*\r", RegexOptions.IgnoreCase);
  24. str = regex2.Replace(str, "");
  25. string[] hangCounts = str.Split('\r');
  26.  
  27. string strTempList = "";
  28. for (int k = ; k < hangCounts.Length; k++)
  29. {
  30. if (!strTempList.Equals(""))
  31. {
  32. strTempList = strTempList + "";
  33. }
  34. if (!hangCounts[k].Equals(""))
  35. {
  36. strTempList = strTempList + "<p>" + hangCounts[k] + "</p>\r\n";
  37. }
  38. }
  39. strTempList = strTempList + "";
  40. str = strTempList;
  41. }
  42. else
  43. {
  44.  
  45. Regex r = new Regex(zz, RegexOptions.IgnoreCase | RegexOptions.Singleline);
  46. str = Regex.Replace(str, zz, "", RegexOptions.IgnoreCase);
  47. str = r.Replace(str, "");
  48.  
  49. }
  50. return (str);
  51.  
  52. }

过滤字符串html标签方法的更多相关文章

  1. 网页内容的html标签补全和过滤的两种方法

    网页内容的html标签补全和过滤的两种方法: 假设你的网页内容的html标签显示不全,有些表格标签不完整而导致页面混乱,或者把你的内容之外的局部html页面给包括进去了,我们能够写个函数方法来补全ht ...

  2. c# 过滤字符串中的重复字符

    有字符串"a,s,d,v,a,v",如果想去除其中重复的字符,怎么做? 下面是一个方法,用Hashtable来记录唯一字符,排除重复字符,仅供参考. 1.过滤方法: public ...

  3. javascript 过滤字符串中的中文与空格

    js 如何过滤字符串里中文或空格呢?方法有很多种,我们可以使用替换与正则表达式来实现,本文向大家介绍两个简单的例子,感兴趣的码农可以参考一下. 1.javascript过滤空格: function m ...

  4. 7.python字符串-内置方法分析

    上篇对python中的字符串内置方法进行了列举和简单说明,但这些方法太多,逐一背下效率实在太低,下面我来对这些方法按照其功能进行总结: 1.字母大小写相关(中文无效) 1.1 S.upper() -& ...

  5. 《Python CookBook2》 第一章 文本 - 过滤字符串中不属于指定集合的字符 && 检查一个字符串是文本还是二进制

    过滤字符串中不属于指定集合的字符 任务: 给定一个需要保留的字符串的集合,构建一个过滤函数,并可将其应用于任何字符串s,函数返回一个s的拷贝,该拷贝只包含指定字符集合中的元素. 解决方案: impor ...

  6. python字符串-内置方法用法分析

    1.字母大小写相关(中文无效) 1.1 S.upper() -> string 返回一个字母全部大写的副本

  7. ES6模板字符串之标签模板

    首先,模板字符串和标签模板是两个东西. 标签模板不是模板,而是函数调用的一种特殊形式.“标签”指的就是函数,紧跟在后面的模板字符串就是它的参数. 但是,如果模板字符串中有变量,就不再是简单的调用了,而 ...

  8. HTML5 Audio标签方法和函数API介绍

    问说网 > 文章教程 > 网页制作 > HTML5 Audio标签方法和函数API介绍 Audio APIHTML5HTML5 Audio预加载 HTML5 Audio标签方法和函数 ...

  9. Python之数据结构:字符串中的方法

    一.过滤字符串 1.strip() (1)去掉行收尾不可见字符 a = ' wejifrow ' print a print a.strip() 结果: wejifrow wejifrow (2)st ...

随机推荐

  1. 【bug】Unable to execute dex: Multiple dex files define

    This is a build path issue. Make sure your bin folder is not included in your build path. Right clic ...

  2. HDU 5769 Substring

    后缀数组. 然后按照排序完成之后的顺序,每个后缀统计贡献量. 统计第i个后缀的贡献的时候,如果这个后缀中没有X,贡献度为0. 有贡献的分3种情况考虑: 1.如果这个后缀height部分等于0(即与前一 ...

  3. APP测试中的头疼脑热:测试人员如何驱动开发做好自测

    如今,随着移动互联网的浪潮越翻越涌,移动APP测试工作的现状已经成了那本"家家难念"的经.不管公司大小,不管测试哪种类型的APP,让广泛测试者苦不堪言的就属重复性最多,测试工作量最 ...

  4. APK重新签名方法

    Android使用SHA1-RSA算法进行签名.可通过eclipse插件进行,可以通过keytool和jarsigner 用命令行执行,也可以在源码下进行签名. 第一种:通过使用eclipse进行签名 ...

  5. HDU2504:又见GCD

    Problem Description 有三个正整数a,b,c(0<a,b,c<10^6),其中c不等于b.若a和c的最大公约数为b,现已知a和b,求满足条件的最小的c.   Input ...

  6. struct函数

    //今天老师叫用一个struct函数做一个函数指针循环 突然我都不知道struct函数怎么用了 害的我下去查了很多资料 第一个定义法: int fun1(){    struct student{   ...

  7. siege

    SIEGE 3.0.0Usage: siege [options] siege [options] URL siege -g URLOptions: -V, --version VERSION, pr ...

  8. 初识mongo

    进入mongo /usr/local/mongodb/bin/mongo --host 查看所有db show dbs 查看当前进入的db db 查看当前db的所有collection show co ...

  9. 读苹果开发文档时遇到瓶颈,转而花2天看了Objc基本语法

    根据这篇博客中列出的文章开始看Objc基本语法: http://blog.hellolucky.info/articles/ios-beginner-ios-development/ 看完以后,明白多 ...

  10. [转]php 在各种web服务器的运行模式

    一.php在apache中运行模式 php在apache中一共有三种工作方式:CGI模式.FastCGI模式.Apache 模块DLL) 以下分别比较: 1. CGI模式与模块模式比较: php在ap ...