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

  • 相关阅读:
    网络编程2018-4-23
    网络编程
    异常处理
    在Asp.net core使用配置Json创建动态目录树
    Asp.net Core中文转换成拼音
    解决Asp.Net core 控制台出现乱码的情况
    解决Asp.net Core中chtml文档中文乱码的问题
    取代Ajax.BeginForm的ajax使用方法
    将数据库模型放入到.Net Core的类库中
    如何使用Resource资源文件
  • 原文地址:https://www.cnblogs.com/xqf222/p/3306857.html
Copyright © 2011-2022 走看看