asp.net 字符串过滤
/// <summary>
/// 去除HTML标记
/// </summary>
/// <param name="Htmlstring">包括HTML的源码</param>
/// <returns>已经去除后的文字</returns>
public static string GetNoHTMLString(string Htmlstring)
{
//删除脚本
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 = HttpContext.Current.Server.HtmlEncode(Htmlstring).Trim(); return Htmlstring;
}
/// <summary>
/// 获取显示的字符串,可显示HTML标签,但把危险的HTML标签过滤,如iframe,script等。
/// </summary>
/// <param name="str">未处理的字符串</param>
/// <returns></returns>
public static string GetSafeHTMLString(string str)
{
str = Regex.Replace(str, @"<applet[^>]*?>.*?</applet>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<body[^>]*?>.*?</body>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<embed[^>]*?>.*?</embed>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<frame[^>]*?>.*?</frame>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<script[^>]*?>.*?</script>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<frameset[^>]*?>.*?</frameset>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<html[^>]*?>.*?</html>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<iframe[^>]*?>.*?</iframe>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<style[^>]*?>.*?</style>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<layer[^>]*?>.*?</layer>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<link[^>]*?>.*?</link>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<ilayer[^>]*?>.*?</ilayer>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<meta[^>]*?>.*?</meta>", "", RegexOptions.IgnoreCase);
str = Regex.Replace(str, @"<object[^>]*?>.*?</object>", "", RegexOptions.IgnoreCase);
return str;
}
转载于:https://www.cnblogs.com/dckhello/p/5536931.html
asp.net 字符串过滤相关推荐
- C# 字符、字符串过滤,只能输入数字、中文、英文、大写、小写(转)
private void TextBox1_KeyPress(object sender, KeyPressEventArgs e) //文本框输入字符过滤 { ...
- stdout字符串过滤输出
功能 把stdout的内容重定向到一个文件,然后从文件里面读取数据,再把数据对应的字符串给过滤掉,重新输出到stdout中 代码 // gcc xx.c -lpthread && ./ ...
- mysql 过滤单引号_python实现mysql的单引号字符串过滤方法
本文实例讲述了python实现mysql的单引号字符串过滤方法.分享给大家供大家参考,具体如下: 最主要用这个函数,可以处理MySQLdb.escape_string(content). class ...
- 用c语言实现相机坐标的过滤,华为2014年机试题【字符串过滤】-【C语言/C++】
一.灵感来源 2013-09-17 | 题目来源 http://blog.csdn.net/net_assassin/article/details/11660869 2013-09-17 | 答案来 ...
- java 过滤字符串_java实现压缩字符串和java字符串过滤
题目一:通过键盘输入一串小写字母(a~z)组成的字符串. 请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串"abacacde"过滤结果 ...
- JS字符串过滤数字_过滤大写数字
JS字符串过滤数字_过滤大写数字 代码案例: //数字替换 if(data.summary){data.summary=data.summary.replace(/[\d|壹|贰|叁|肆|伍|陆|柒| ...
- ASP.NET中过滤HTML字符串的两个方法
先记下来,以作备用! ///<summary>去除HTML标记//////</summary>///<param name="Htmlstring"& ...
- php敏感字符串过滤_PHP实现的敏感词过滤方法示例
本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数 ...
- php敏感字符串过滤_PHP代码审计入门:常见的危险函数和审计点
01什么是危险函数 函数设计出来就是让人使用的,之所以危险,是因为其功能过于强大.开发人员特别是刚从业的人员很少会完整阅读完整个文档,再或者是没有意识到当给这些函数传递一些非常规的,外部可控的参数会带 ...
最新文章
- Spring Boot 五种热部署方式,极速开发就是生产力!
- mysql 联合索引长度_MySQL 中索引的长度的限制
- c mysql 查不到数据_怎么检测不到MYSQL数据库的存在
- [转帖]真TM长的:SQL Server 2008存储结构——GAM和SGAM、PFS结构、IAM结构、DCMBCM
- 终于,我读懂了所有Java集合——List篇
- 面向Transformer模型的高效预训练方法
- 解析事件总线的4种实现方式
- Java StringTokenizer类使用方式
- python求第三边长_如何用python求第三条边边长
- 这样的简历HR才会看----个人整理
- 拼多多直通车有作用?新手为什么不适合开直通车?
- 【组合优化】旅行商问题Traveling Salesman Problem(TSP)-概述
- 如何将多个excel表格合并成一个_怎么将多个pdf文件合并成一个?
- 文件头格式标准魔数-magic number和mime.types
- 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
- Tcl -- eval
- JavaEE系统架构师学习路线(基础篇)
- 星际争霸 Android手机移植版,让《星际争霸》运行在你的Android手机上
- INS/GNSS组合导航(三)-SINS的机械编排
- JavaScript语言精粹--读书笔记三之replace()与正则
热门文章
- [linux] ubuntu gnome 控制面板恢复
- 三个角度来解决无线路由故障
- TCP三次握手的原理及***手段
- Ellex激光器参数与激光消融手术风险的关系
- 为什么民航单位免费给查胸部CT+为什么天气预报中有风向
- springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法
- cannot resolve symbol ‘springframework‘
- 指数加权平均与RmsProp(转载+自己总结)以及Adagrad
- ubuntu16.04下面用sublime运行scala代码
- 在mysql-workbench中运行set和declare并且观察区别