/// <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 字符串过滤相关推荐

  1. C# 字符、字符串过滤,只能输入数字、中文、英文、大写、小写(转)

    private void TextBox1_KeyPress(object sender, KeyPressEventArgs e)     //文本框输入字符过滤         {         ...

  2. stdout字符串过滤输出

    功能 把stdout的内容重定向到一个文件,然后从文件里面读取数据,再把数据对应的字符串给过滤掉,重新输出到stdout中 代码 // gcc xx.c -lpthread && ./ ...

  3. mysql 过滤单引号_python实现mysql的单引号字符串过滤方法

    本文实例讲述了python实现mysql的单引号字符串过滤方法.分享给大家供大家参考,具体如下: 最主要用这个函数,可以处理MySQLdb.escape_string(content). class ...

  4. 用c语言实现相机坐标的过滤,华为2014年机试题【字符串过滤】-【C语言/C++】

    一.灵感来源 2013-09-17 | 题目来源 http://blog.csdn.net/net_assassin/article/details/11660869 2013-09-17 | 答案来 ...

  5. java 过滤字符串_java实现压缩字符串和java字符串过滤

    题目一:通过键盘输入一串小写字母(a~z)组成的字符串. 请编写一个字符串过滤程序,若字符串中出现多个相同的字符,将非首次出现的字符过滤掉. 比如字符串"abacacde"过滤结果 ...

  6. JS字符串过滤数字_过滤大写数字

    JS字符串过滤数字_过滤大写数字 代码案例: //数字替换 if(data.summary){data.summary=data.summary.replace(/[\d|壹|贰|叁|肆|伍|陆|柒| ...

  7. ASP.NET中过滤HTML字符串的两个方法

    先记下来,以作备用! ///<summary>去除HTML标记//////</summary>///<param name="Htmlstring"& ...

  8. php敏感字符串过滤_PHP实现的敏感词过滤方法示例

    本文实例讲述了PHP实现的敏感词过滤方法.分享给大家供大家参考,具体如下: 1.敏感词过滤方法 /** * @todo 敏感词过滤,返回结果 * @param array $list 定义敏感词一维数 ...

  9. php敏感字符串过滤_PHP代码审计入门:常见的危险函数和审计点

    01什么是危险函数 函数设计出来就是让人使用的,之所以危险,是因为其功能过于强大.开发人员特别是刚从业的人员很少会完整阅读完整个文档,再或者是没有意识到当给这些函数传递一些非常规的,外部可控的参数会带 ...

最新文章

  1. Spring Boot 五种热部署方式,极速开发就是生产力!
  2. mysql 联合索引长度_MySQL 中索引的长度的限制
  3. c mysql 查不到数据_怎么检测不到MYSQL数据库的存在
  4. [转帖]真TM长的:SQL Server 2008存储结构——GAM和SGAM、PFS结构、IAM结构、DCMBCM
  5. 终于,我读懂了所有Java集合——List篇
  6. 面向Transformer模型的高效预训练方法
  7. 解析事件总线的4种实现方式
  8. Java StringTokenizer类使用方式
  9. python求第三边长_如何用python求第三条边边长
  10. 这样的简历HR才会看----个人整理
  11. 拼多多直通车有作用?新手为什么不适合开直通车?
  12. 【组合优化】旅行商问题Traveling Salesman Problem(TSP)-概述
  13. 如何将多个excel表格合并成一个_怎么将多个pdf文件合并成一个?
  14. 文件头格式标准魔数-magic number和mime.types
  15. 嵌入式linux/鸿蒙开发板(IMX6ULL)开发(二十七)具体单板的LED驱动程序
  16. Tcl -- eval
  17. JavaEE系统架构师学习路线(基础篇)
  18. 星际争霸 Android手机移植版,让《星际争霸》运行在你的Android手机上
  19. INS/GNSS组合导航(三)-SINS的机械编排
  20. JavaScript语言精粹--读书笔记三之replace()与正则

热门文章

  1. [linux] ubuntu gnome 控制面板恢复
  2. 三个角度来解决无线路由故障
  3. TCP三次握手的原理及***手段
  4. Ellex激光器参数与激光消融手术风险的关系
  5. 为什么民航单位免费给查胸部CT+为什么天气预报中有风向
  6. springboot工程中各个层次的作用+springboot连接数据库的工具汇总+Mybatis的开发方式/语法
  7. cannot resolve symbol ‘springframework‘
  8. 指数加权平均与RmsProp(转载+自己总结)以及Adagrad
  9. ubuntu16.04下面用sublime运行scala代码
  10. 在mysql-workbench中运行set和declare并且观察区别