Dzwebs.Net

撰写电脑技术杂文十余年

asp.net去除字符串中的HTML标签,只保留文字

Admin | 2016-1-11 9:05:01 | 被阅次数 | 4569

温馨提示!

如果未能解决您的问题,请点击搜索;登陆可复制文章,点击登陆

  在asp.net中,有的时候我们需要将带有HTML标记的字符串插入到数据库中,但是,从数据库中显示读取数据显示出来的时候,可不一定需要这些字符串中的标记,而仅仅需要保留文字而已。

  比如,如果字符串的内容为如下的内容:

  回复第<span style="color:#009900;"><strong>9</strong></span>个问题

  这个时候,如果我们将上面的字符串作为网页的标题文字的话,那么,显示的时候必然是不正常的,而这个时候,我们只需要文字部分,不需要标记标签部分,现在,我们要做的就是从数据库中读取字符串内容后,如何去除这些HTML标签。

  第一步:引入

  using System.Text.RegularExpressions;

  因为我们要使用正则的办法去除HTML标记,所以要引入。

  第二步:使用下面的函数

  public string FilterHtmlCode(string strInput) //过滤掉字符串中出现的HTML的标记
    {
        string strRet = strInput;
        while (strRet.IndexOf("<style", StringComparison.InvariantCultureIgnoreCase) >= 0 && strRet.IndexOf("</style", StringComparison.InvariantCultureIgnoreCase) >= 0)
        {
            strRet = strRet.Substring(0, strRet.IndexOf("<style", StringComparison.InvariantCultureIgnoreCase)) + strRet.Substring(strRet.IndexOf("</style", StringComparison.InvariantCultureIgnoreCase) + 8, strRet.Length - strRet.IndexOf("</style", StringComparison.InvariantCultureIgnoreCase) - 8);
        }

        while (strRet.IndexOf("<script", StringComparison.InvariantCultureIgnoreCase) >= 0 && strRet.IndexOf("</script", StringComparison.InvariantCultureIgnoreCase) >= 0)
        {
            strRet = strRet.Substring(0, strRet.IndexOf("<script", StringComparison.InvariantCultureIgnoreCase)) + strRet.Substring(strRet.IndexOf("</script", StringComparison.InvariantCultureIgnoreCase) + 9, strRet.Length - strRet.IndexOf("</script", StringComparison.InvariantCultureIgnoreCase) - 9);
        }
        strRet = Regex.Replace(strRet, @"<style>[^<]*</style>", "");
        strRet = Regex.Replace(strRet, @"<script>[^<]*</script>", "");
        //strRet = Regex.Replace(strRet, @"<script[\s\S]+</script *>", "");
        strRet = Regex.Replace(strRet, "<[^{><}]*>", "");

        return strRet;
  }

  第三步:调用方法

  FilterHtmlCode("这里是字符串的原始内容");


该杂文来自: 网站开发杂文

上一篇:网站为何要设置404页面

下一篇:网页t过滤span标记的两种方法

网站备案号:

网站备案号:滇ICP备11001339号-7

版权属性:

Copyright 2007-2021-forever Inc. all Rights Reserved.

联系方式:

Email:dzwebs@126.com QQ:83539231 访问统计