• 过滤html字符的方法


    昨天在看公司网站的产品详细页面,发现只有一个公司的JS产品轮换特效不会出,找了半天,程序都是一样的,原因是什么呢?原来是公司的别名是xiandahg,里面含有and字符被过滤掉了。

    public static string NoHTML(string Htmlstring) //去除HTML标记
    {
    //删除脚本
    Htmlstring = Regex.Replace(Htmlstring, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
    //删除HTML
    Htmlstring = Regex.Replace(Htmlstring, @"<(.[^>]*)>", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"([ ])[s]+", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"-->", "", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"<!--.*", "", RegexOptions.IgnoreCase);

    Htmlstring = Regex.Replace(Htmlstring, @"&(quot|#34);", """, RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(amp|#38);", "&", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(lt|#60);", "<", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(gt|#62);", ">", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(nbsp|#160);", " ", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(iexcl|#161);", "xa1", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(cent|#162);", "xa2", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(pound|#163);", "xa3", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&(copy|#169);", "xa9", RegexOptions.IgnoreCase);
    Htmlstring = Regex.Replace(Htmlstring, @"&#(d+);", "", RegexOptions.IgnoreCase);

    Htmlstring.Replace("<", "");
    Htmlstring.Replace(">", "");
    Htmlstring.Replace(" ", "");
    Htmlstring = Htmlstring.Replace("[\s]{2,{", " ");
    Htmlstring = Htmlstring.Replace("( <[b|B][r|R]/*>)+|( <[p|P](.|\n)*?>)", " "); // <br>
    Htmlstring = Htmlstring.Replace("(\s*&[n|N][b|B][s|S][p|P];\s*)+", " "); //&nbsp;
    Htmlstring = Htmlstring.Replace(" <(.|\n)*?>", string.Empty); //any other tags
    //Htmlstring = Htmlstring.Replace(" ", "&nbsp;");
    Htmlstring = Htmlstring.Replace("&nbsp;", "");
    Htmlstring = Htmlstring.Replace(" ", "<br>");
    Htmlstring = Htmlstring.Replace("=", "");
    Htmlstring = Htmlstring.Replace("%", "");
    Htmlstring = Htmlstring.Replace("'", "");
    Htmlstring = Htmlstring.Replace("select ", "");
    Htmlstring = Htmlstring.Replace("insert ", "");
    Htmlstring = Htmlstring.Replace("delete ", "");
    Htmlstring = Htmlstring.Replace(" or", "");
    Htmlstring = Htmlstring.Replace("exec", "");
    Htmlstring = Htmlstring.Replace("--", "");
    Htmlstring = Htmlstring.Replace(" and", "");
    Htmlstring = Htmlstring.Replace("where", "");
    Htmlstring = Htmlstring.Replace("update", "");
    Htmlstring = Htmlstring.Replace("script", "");
    Htmlstring = Htmlstring.Replace("iframe", "");
    Htmlstring = Htmlstring.Replace("master", "");
    Htmlstring = Htmlstring.Replace("exec", "");
    Htmlstring = Htmlstring.Replace(" AND", "");
    Htmlstring = Htmlstring.Replace(" And", "");
    Htmlstring = Htmlstring.Replace(" AnD", "");
    Htmlstring = Htmlstring.Replace(" ANd", "");
    Htmlstring = Htmlstring.Replace(" aND", "");
    Htmlstring = Htmlstring.Replace(" aNd", "");
    Htmlstring = Htmlstring.Replace(" anD", "");

    Htmlstring = Htmlstring.Replace("exists", "");
    Htmlstring = Htmlstring.Replace("drop", "");
    Htmlstring = Htmlstring.Replace("996008E", "");
    Htmlstring = Htmlstring.Replace("ar(124)", "");
    Htmlstring = Htmlstring.Replace("1and", "");
    Htmlstring = Htmlstring.Replace("0and", "");
    Htmlstring = Htmlstring.Replace("chr(", "");

    Htmlstring = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim();

    return Htmlstring;
    }

  • 相关阅读:
    Ubuntu18.04+windows10双系统时间同步教程
    Ubuntu官方源
    Ubuntu 16.04下OLSR协议安装教程
    Ubuntu 18.04中的Vim编辑器的高级配置
    关于vue-cli的安装
    var与let、const的区别
    jq点击相册弹出弹窗并可以轮播相册效果
    css三角形上下左右实心空心尖角箭头
    leetcode-44. Wildcard Matching
    c++转换构造函数和类型转换函数
  • 原文地址:https://www.cnblogs.com/candyzhmm/p/4015598.html
Copyright © 2020-2023  润新知