昨天在看公司网站的产品详细页面,发现只有一个公司的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, @"([\r\n])[\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("\r\n", "");
Htmlstring = Htmlstring.Replace("[\\s]{2,{", " ");
Htmlstring = Htmlstring.Replace("( <[b|B][r|R]/*>)+|( <[p|P](.|\\n)*?>)", "\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("\r\n", "<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;
}

过滤html字符的方法的更多相关文章

  1. PHP 实现过滤参数字符的方法

    //参数处理函数2function RepPostVar2($val){ if($val!=addslashes($val)) { exit(); } if(substr($val,-1)==&quo ...

  2. 提取数字、英文、中文、过滤重复字符等SQL函数(含判断字段是否有中文)

    --SQL 判断字段值是否有中文 create  function  fun_getCN(@str  nvarchar(4000))    returns  nvarchar(4000)      a ...

  3. 【转载】C#防SQL注入过滤危险字符信息

    不过是java开发还是C#开发或者PHP的开发中,都需要关注SQL注入攻击的安全性问题,为了保证客户端提交过来的数据不会产生SQL注入的风险,我们需要对接收的数据进行危险字符过滤来防范SQL注入攻击的 ...

  4. 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符

    原文:在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符 最近做项目的时候,经常用到一个字符串中的某些字符,处理起来非常的棘手,现在用下面的方法就可以很方便的从字符串中处理你想要的 ...

  5. python购物&常用字符处理方法

    python 一个购物车的例子 1 #!/usr/bin/env python 2 # -*- coding:utf-8 -*- 3 '''购物车''' 4 5 goods = [ 6 7 {&quo ...

  6. ASP.NET开发中主要的字符验证方法-JS验证、正则表达式、验证控件、后台验证

    ASP.NET开发中主要的字符验证方法-JS验证.正则表达式.验证控件.后台验证 2012年03月19日 星期一 下午 8:53 在ASP.NET开发中主要的验证方法收藏 <1>使用JS验 ...

  7. Java中生成随机字符的方法总结

    package learnExercise; public class RandomCharacter { public static char getRandomCharacter(char ch1 ...

  8. js实现过滤重复字符和重复数组-javascript技巧

    js实现过滤重复字符 <script type="text/javascript"> <!-- String.prototype.noRepeatStr=func ...

  9. SQL函数:字符串中提取数字,英文,中文,过滤重复字符(转)

    --提取数字 IF OBJECT_ID('DBO.GET_NUMBER2') IS NOT NULL DROP FUNCTION DBO.GET_NUMBER2 GO )) ) AS BEGIN BE ...

随机推荐

  1. raw格式镜像文件压缩并转换为qcow2格式

    raw格式文件,这个比较占用空间,你可以用以下命令将其压缩并转换成qcow2格式. # virt-sparsify --compress --convert qcow2 ubuntu.img ubun ...

  2. Balanced Binary Tree

    Given a binary tree, determine if it is height-balanced. For this problem, a height-balanced binary ...

  3. Trailing Zeros

    Write an algorithm which computes the number of trailing zeros in n factorial. Have you met this que ...

  4. XPath常用定位节点元素语句总结

    将一个XML或HTML文档转换成了DOM树结构后,如何才能定位到特定的节点?XPath实现了这样的功能,它通过DOM树中节点的路径和属性来导航,通过XPath路径表达式可以选择DOM树中的nodes( ...

  5. kettle与各数据库建立链接的链接字符串

    kettle与各数据库建立链接的链接字符串 Sybase: TO_DB_URL = jdbc:sybase:Tds:192.168.168.163:5000/testdb?charset=eucgb& ...

  6. Java的++自增

    记得大学刚开始学C语言时,老师就说:自增有两种形式,分别是i++和++i,i++表示的是先赋值后加1,++i是先加1后赋值,这样理解了很多年也没出现问题,直到遇到如下代码,我才怀疑我的理解是不是错了: ...

  7. GLSL

    变量修饰符 修饰符给出了变量的特殊含义,GLSL中有如下修饰符: ·const – 声明一个编译期常量. ·attribute– 随不同顶点变化的全局变量,由OpenGL应用程序传给顶点shader. ...

  8. [Android Pro] Android签名与认证详细分析之一(CERT.RSA剖析)

    转载自:http://www.thinksaas.cn/group/topic/335450/ 一.Android签名概述 我们已经知道的是:Android对每一个Apk文件都会进行签名,在Apk文件 ...

  9. sublime text 3 使用过程总结记录

    自定义的设置: "save_on_focus_lost": true //在文件失去焦点的时候自动保存

  10. 《MySQL必知必会》笔记 事务、安全及性能等

    二十六 管理事务处理 1.并非所有引擎都支持事务处理,如MyIASM和InnoDB,关于事务处理的几个术语:事务(Transaction)指一组sql语句:回退(rollback)指撤销指定SQL语句 ...