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

  • 相关阅读:
    CSS笔记(十)position属性与定位
    CSS笔记(九)轮廓
    前端需要学习算法吗 算法面的意义 职业规划
    Web前端笔试整理10
    Web前端笔试整理9
    Web前端笔试整理8
    Web前端笔试整理7
    Web前端笔试整理6
    JS 图片延迟加载/懒加载
    JS 同步与异步编程
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306857.html
Copyright © 2011-2022 走看看