zoukankan      html  css  js  c++  java
  • C#去除指定字符串中的HTML标签相关代码函数

    //去除指定字符串中的HTML标签相关代码函数
           private static string RemoveHtml(string strContent, string strTagName, int strType)
           {
               string pattern = "";
               string strResult = "";
               Regex exp;
               MatchCollection matchList;
               switch (strType)
               {
                   case 1://去掉<a></a>中<a>标记的内容,保留<a>后面的所有代码

                       pattern = @"<" + strTagName + "([^>])*>";
                       exp = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
                       matchList = exp.Matches(strContent);
                       foreach (Match match in matchList)
                       {
                           if (match.Value.Length > 0)
                               strResult = match.Value;
                           strContent = strContent.Replace(strResult, "");
                           break;
                       }
                       break;

                   case 2://去掉所有<a></a>两个标记的内容,保留<a>和</a>代码中间的代码
                       pattern = "<" + strTagName + "([^>])*>";
                       exp = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
                       matchList = exp.Matches(strContent);
                       foreach (Match match in matchList)
                       {
                           if (match.Value.Length > 0)
                               strResult = match.Value;
                           strContent = strContent.Replace(strResult, "");
                           break;
                       }
                       pattern = "</" + strTagName + "([^>])*>";
                       exp = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
                       matchList = exp.Matches(strContent);
                       foreach (Match match in matchList)
                       {
                           if (match.Value.Length > 0)
                               strResult = match.Value;
                           strContent = strContent.Replace(strResult, "");
                           break;
                       }
                       break;

                   case 3://去掉所有<a></a>和两个标记之间的全部内容
                       pattern = "<" + strTagName + "([^>])*>.*?</" + strTagName + "([^>])*>";
                       exp = new Regex(pattern, RegexOptions.IgnoreCase | RegexOptions.Multiline | RegexOptions.IgnorePatternWhitespace);
                       matchList = exp.Matches(strContent);
                       foreach (Match match in matchList)
                       {
                           if (match.Value.Length > 0)
                               strResult = match.Value;
                           strContent = strContent.Replace(strResult, "");
                           break;
                       }
                       break;
               }
               return strContent;
           }

  • 相关阅读:
    [转]CTO谈豆瓣网和校内网技术架构变迁
    Hashtable Dictionary[必看]
    DotFuscator 小记
    博客园随笔添加自己的版权信息 [转]
    [转]关于支付宝API开发的一点心得
    .NET下实现分布式缓存系统Memcached
    4.9 利用对应的泛型替换Hashtable[转]
    dllhost.exe 解释
    C#命名规范,SqlServer命名规范
    用XenoCode 2006 加密dll(.NET
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306857.html
Copyright © 2011-2022 走看看