`
javatoyou
  • 浏览: 1016390 次
  • 性别: Icon_minigender_2
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

我收藏的特殊字符过滤函数

 
阅读更多
这个我这里自己一直用的几个函数,下面贴出来。
希望尽量不是直接要实例就去用,而不关心他本来的意义和实现思路等。加油!

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

/// <summary>
/// 对字符串进行检查和替换其中的特殊字符
/// </summary>
/// <param name="strHtml"></param>
/// <returns></returns>
public static string HtmlToTxt(string strHtml)
{
string[] aryReg ={
@"<script[^>]*?>.*?</script>",
@"<(///s*)?!?((/w+:)?/w+)(/w+(/s*=?/s*(([""'])(//[""'tbnr]|[^/7])*?/7|/w+)|.{0})|/s)*?(///s*)?>",
@"([/r/n])[/s]+",
@"&(quot|#34);",
@"&(amp|#38);",
@"&(lt|#60);",
@"&(gt|#62);",
@"&(nbsp|#160);",
@"&(iexcl|#161);",
@"&(cent|#162);",
@"&(pound|#163);",
@"&(copy|#169);",
@"&#(/d+);",
@"-->",
@"<!--.*/n"
};

string newReg = aryReg[0];
string strOutput = strHtml;
for (int i = 0; i < aryReg.Length; i++)
{
Regex regex = new Regex(aryReg[i], RegexOptions.IgnoreCase);
strOutput = regex.Replace(strOutput, string.Empty);
}

strOutput.Replace("<", "");
strOutput.Replace(">", "");
strOutput.Replace("/r/n", "");


return strOutput;
}


=================另外两个函数=====================
/// <summary>
/// 替换html中的特殊字符
/// </summary>
/// <param name="theString">需要进行替换的文本。</param>
/// <returns>替换完的文本。</returns>
public string HtmlEncode(string theString)
{
theString = theString.Replace(">", "&gt;");
theString = theString.Replace("<", "&lt;");
theString = theString.Replace(" ", "&nbsp;");
theString = theString.Replace(" ", "&nbsp;");
theString = theString.Replace("/"", "&quot;");
theString = theString.Replace("/'", "'");
theString = theString.Replace("/n", "<br/> ");
return theString;
}

/// <summary>
/// 恢复html中的特殊字符
/// </summary>
/// <param name="theString">需要恢复的文本。</param>
/// <returns>恢复好的文本。</returns>
public string HtmlDiscode(string theString)
{
theString = theString.Replace("&gt;", ">");
theString = theString.Replace("&lt;", "<");
theString = theString.Replace("&nbsp;", " ");
theString = theString.Replace("&nbsp;", " ");
theString = theString.Replace("&quot;", "/"");
theString = theString.Replace("'", "/'");
theString = theString.Replace("<br/> ", "/n");
return theString;
}

分享到:
评论

相关推荐

    Js字符串操作函数大全(更新)

    本js集合了大量常用的js字符串操作,1,小数点处理,2.空格处理,3.数据类型校验,4:过滤特殊字符;5:url参数获取等等

    几个有用的php字符串过滤,转换函数代码

    //对数据库操作时,转义特殊字符 chop();//除去字符串右边空格 trim();//除去字符串中所有空格 ltrim();//除去字符串左边空格 htmlspecialchars();//转换’$’,'”‘,'&lt;‘,’&gt;’为相应的html实体 htmlentities();...

    asp中常用的字符串安全处理函数集合(过滤特殊字符等)

    在asp编写中,我们需要注意特殊字符串的处理,防止被黑客利用。使用asp的朋友一定要参考下。

    PHP中字符安全过滤函数使用小结

    这个函数曾经对于在PHP中防止SQL注入攻击提供了很大的帮助,它对特殊的字符,像单引号和双引号,加上了“反斜杠”,确保用户的输入在用它去查询之前已经是安全的了。但你要注意你是在连接着数据库的情况下使用这个...

    PHP对表单提交特殊字符的过滤和处理方法汇总

    PHP关于表单提交特殊字符的处理方法做个汇总,主要涉及htmlspecialchars/addslashes/stripslashes/strip_tags/mysql_real_escape_string等几个函数联合使用,与大家共同交流。 一、几个与特殊字符处理有关的PHP函数 ...

    Python连接MySQL并使用fetchall()方法过滤特殊字符

    来一个简单的例子,看Python如何操作数据库,相比Java的JDBC来说,确实非常简单,省去了很多复杂的重复工作,只关心数据的获取与操作。 准备工作 需要有相应的环境和模块: Ubuntu 14.04 64bit ...

    android同时控制EditText输入字符个数和禁止特殊字符输入的方法

    本文实例讲述了android同时控制EditText输入字符个数和禁止特殊字符输入的方法。分享给大家供大家参考。具体分析如下: 这里总结了三种方法如下: 方法一: 1. 引用两个命名空间: import android.text.TextWatcher...

    bnase64加密解密函数

    首先生成一个与时间有关的随机整数再随机生成一个由数字和大写字符组成的字符串。然后把随机整数与字符串从右边开始逐字符交叉结合,从右边截取要求的长度,然后返回把剩下的部分接到...再用Base64编码,过滤特殊字符。

    php中filter函数验证、过滤用户输入的数据

    复制代码 代码如下: //除去html标签,或除去编码特殊字符 var_dump(filter_var(“&lt;html&gt;中文ABC@#&lt;/html&gt;[removed]abc[removed]&lt;b&gt;BBB&lt;/b&gt;&lt;span&gt;”,FILTER_SANITIZE_STRING)); //url_encoded编码,除去...

    FpHtmlEnCode 函数之标题过滤特殊符号的代码

    ‘================================================== ‘函数名:FpHtmlEnCode ‘作 用:标题过滤 ‘参 数:fString ——字符串 ‘================================================== Function FpHtmlEnCode...

    PHP中的代码安全和SQL Injection防范3

    // 这里引用了我们的过滤函数,对$id进行过滤 echo '提交的数据合法,请继续!'; } ?&gt; 好,问题到这里似乎都解决了,但是我们有没有考虑过post提交的数据,大批量的数据呢? 比如一些字符可能会对数据库造成...

    防范XSS攻击程序

    自定义一个Filter拦截器,使用 Filter来过滤浏览器发出的请求,检测每个请求的参数是否含有XSS攻击关键字,如果存在xss攻击关键字,转义特殊字符。 方法是实现一个自定义的 HttpServletRequestWrapper ,然后在 ...

    详解WordPress开发中过滤属性以及Sql语句的函数使用

    esc_attr()(过滤属性) ... &lt;...但是,如果动态输出的属性里有双引号、尖括号等特殊字符,Html 代码就会被打乱,这时就可以使用 esc_attr() 函数对输出的属性进行转义。 使用方法 esc_attr( $text )

    java 正则表达式

    JAVA正则表达式语法(转)正则表达式语法正则表达式是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为“元字符”)。模式描述在搜索文本时要匹配的一个或多个字符串。正则表达式示例表达式 ...

    JavaScript经典实例

     1.8插入特殊字符  1.9处理textarea的单个行  1.10去除字符串末尾的空白  1.11左补充或右补充一个字符串  第2章使用正则表达式  2.0简介  2.1测试一个子字符串是否存在  2.2测试不区分大小写的子字符串匹配 ...

    vue数字类型过滤器的示例代码

    输入字母和特殊字符自动过滤掉 输入完成失焦自动加.00 如果输入了小数自动四舍五入为22.22类似这样格式 效果图 可以使用在普通js和angular里面,vue 直接调用 先上调用的函数 /** * User: sheyude * Date: ...

    关于读取popen输出结果时未截断字符串导致的命令行注入详解

    熟悉web安全的话就知道,如果对特殊字符过滤不当,会引发sql注入或者xss等安全漏洞。其中,命令行注入较为严重,因为可以直接拿到漏洞程序当前权限的OSshell。 然而,命令行注入不仅在web中会出现,在C语言程序中,...

    C# 常用工具类,下载时先看下介绍

    先说明了,尽管我的工具类写得不怎么好,尽管少部分代码是借鉴网上的,但也是本人花心血做的,且本人的...16、判断是否合法用户名,用户名在4-20位之间,必须也字母打头,不能含有中文或特殊字符 17、判断邮箱是否合法

    Windows内核安全与驱动开发光盘源码

    11.2.2 文件过滤的快速IO分发函数 203 11.2.3 快速IO分发函数的一个实现 205 11.2.4 快速IO分发函数逐个简介 206 11.3 设备的绑定前期工作 207 11.3.1 动态地选择绑定函数 207 11.3.2 注册文件系统变动回调 208...

Global site tag (gtag.js) - Google Analytics