`

html过滤

    博客分类:
  • JAVA
阅读更多
  以下例子转自一个网友并非本人所写,因为觉得好所以贴出来一起分享
import java.util.regex.Pattern;
  public class Test
  {
  
  public static void main(String[] args)
  {
  String ww="<html>sss<body>ss</body>ssss</html>";
  String ff=html2Text(ww);
  System.out.println(ff);
  }
 public static String html2Text(String inputString) {
		String htmlStr = inputString; // 含html标签的字符串
		String textStr = "";
		java.util.regex.Pattern p_script;
		java.util.regex.Matcher m_script;
		java.util.regex.Pattern p_style;
		java.util.regex.Matcher m_style;
		java.util.regex.Pattern p_html;
		java.util.regex.Matcher m_html;
		try {
			String regEx_script = "<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>"; // 定义script的正则表达式{或<script>]*?>[\s\S]*?<\/script>
			// }
			String regEx_style = "<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>"; // 定义style的正则表达式{或<style>]*?>[\s\S]*?<\/style>
			// }
			String regEx_html = "<[^>]+>"; // 定义HTML标签的正则表达式

			p_script = Pattern.compile(regEx_script, Pattern.CASE_INSENSITIVE);
			m_script = p_script.matcher(htmlStr);
			htmlStr = m_script.replaceAll(""); // 过滤script标签

			p_style = Pattern.compile(regEx_style, Pattern.CASE_INSENSITIVE);
			m_style = p_style.matcher(htmlStr);
			htmlStr = m_style.replaceAll(""); // 过滤style标签

			p_html = Pattern.compile(regEx_html, Pattern.CASE_INSENSITIVE);
			m_html = p_html.matcher(htmlStr);
			htmlStr = m_html.replaceAll(""); // 过滤html标签

			textStr = htmlStr;

		} catch (Exception e) {
			System.err.println("Html2Text: " + e.getMessage());
		}

		return textStr;
}
  }
 
  这是struts中的html过滤
public static String filter(String value)
    {
        if(value == null || value.length() == 0)
            return value;
        StringBuffer result = null;
        String filtered = null;
        for(int i = 0; i < value.length(); i++)
        {
            filtered = null;
            switch(value.charAt(i))
            {
            case 60: // '<'
                filtered = "<";
                break;

            case 62: // '>'
                filtered = ">";
                break;

            case 38: // '&'
                filtered = "&";
                break;

            case 34: // '"'
                filtered = """;
                break;

            case 39: // '\''
                filtered = "'";
                break;
            }
            if(result == null)
            {
                if(filtered != null)
                {
                    result = new StringBuffer(value.length() + 50);
                    if(i > 0)
                        result.append(value.substring(0, i));
                    result.append(filtered);
                }
            } else
            if(filtered == null)
                result.append(value.charAt(i));
            else
                result.append(filtered);
        }

        return result != null ? result.toString() : value;
    }
 
分享到:
评论
1 楼 doltter 2008-06-15  
如果要保留P怎么办?

相关推荐

    HTMLPurifierBundle, 在PHP中,HTML过滤器是一个标准的HTML过滤器.zip

    HTMLPurifierBundle, 在PHP中,HTML过滤器是一个标准的HTML过滤器 ExerciseHTMLPurifierBundle这个包将 HTMLPurifier 集成到 Symfony2.安装 2.1和 above ( 使用 Composer )在 composer.json file: 中需要捆绑包

    HTML过滤.rar

    HTML过滤是网络开发中一个重要的安全措施,主要目的是防止恶意用户通过HTML代码注入攻击来破坏网站的安全性。在本文中,我们将深入探讨HTML过滤的概念、重要性以及如何使用易语言进行HTML源码过滤。 首先,我们需要...

    易语言HTML过滤

    易语言HTML过滤是一种在编程领域中处理HTML文本的技术,它主要应用于从HTML文档中提取有用信息、去除无用标签或格式,或者进行数据抓取。易语言,是中国自主研发的一种简单易学的编程语言,它的设计目标是使得普通...

    wap代码 html过滤器(java)

    ### WAP代码HTML过滤器(Java):深入解析与实现 在移动互联网发展的早期阶段,WAP(Wireless Application Protocol)技术曾是移动设备访问互联网的主要方式之一。由于当时移动设备处理能力和屏幕尺寸的限制,WAP...

    java HTML过滤器,用于去除XSS漏洞隐患

    java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,用于去除XSS漏洞隐患java HTML过滤器,...

    C#过滤html方法

    首先,我们要明确HTML过滤的目标,通常是为了防止XSS(跨站脚本攻击)或确保数据在显示时安全无害。HTML标签可以被恶意利用来执行JavaScript代码,因此必须谨慎处理。接下来,我们将介绍两种常见的过滤策略: 1. ...

    htmlpurifier-master标准的HTML过滤器的库.zip

    标题“htmlpurifier-master标准的HTML过滤器的库.zip”表明这是一个包含HTMLPurifier最新稳定版本的压缩包,名为“htmlpurifier-master”。这个版本可能包含了源代码、文档、示例以及配置文件等资源,供开发者使用和...

    java 读取html过滤标签

    在Java编程中,读取HTML并过滤特定标签是一项常见的任务,尤其在处理网页抓取、数据提取或构建网络爬虫时。这篇博文链接虽然没有提供具体的内容,但我们可以通过标题和标签来推测其主要讨论的内容。这里我们将深入...

    易语言过滤html文本源码

    描述中的“@易语言源码分享站”表明这是一个共享源码的平台,可能提供了一些预设的函数或模块,用于帮助开发者实现HTML过滤功能。 在易语言中,我们可以使用内置的字符串函数来初步处理HTML文本,例如“查找子串”...

    HTML代码过滤技术

    `www.pudn.com.txt`可能包含有关HTML过滤的讨论或示例代码,而`Mimefilter`可能是一个用于过滤MIME类型的工具,也可能涉及到HTML过滤的实现。 总的来说,HTML代码过滤技术是网络安全的重要组成部分,它通过对HTML...

    C# 过滤HTML标签的几种方法

    根据提供的文件信息,本文将详细解释C#中用于过滤HTML标签的几种方法,并对每一步进行深入解析。此过程涉及正则表达式、字符串替换以及HTML实体编码转换等技术细节。 ### C#过滤HTML标签的方法 #### 方法一:使用...

    ASP 过滤HTML

    因此,掌握几种有效的ASP HTML过滤技术对于保障网站安全至关重要。 #### 二、过滤图片或HTML 在ASP中过滤图片和HTML标签的一种简单方法是使用正则表达式。例如: ```vbscript dim regEx, str str = "&lt;p&gt;&lt;img src='*...

    htmlpurifier, 在PHP中,编写符合标准的HTML过滤器.zip

    htmlpurifier, 在PHP中,编写符合标准的HTML过滤器 HTML过滤器 HTML过滤器是一种HTML过滤解决方案,它使用一种独特的,和,解析结合,但是它们是一致的。HTML过滤器面向那些需要CSS和完整标记集的不可靠来源的格式...

    过滤HTML标签类

    在IT行业中,过滤HTML标签是常见的数据处理任务,特别是在处理用户输入、数据分析或者网页抓取时。这个主题的标题“过滤HTML标签类”暗示我们将会探讨一个专门用于去除或处理HTML标签的类或库。这类工具通常用于确保...

    过滤HTML元素字符

    首先,理解HTML过滤的必要性至关重要。用户输入的数据可能会包含恶意的HTML标签或属性,如`&lt;script&gt;`、`&lt;iframe&gt;`等,这些内容如果未经处理直接显示在网页上,可能会执行恶意代码,窃取用户的敏感信息。因此,对用户...

    htmlpurifier-master标准的HTML过滤器的库

    简介:这是我目前用过最好的PHP富文本HTML过滤器了,采用了白名单机制,有效杜绝了用户提交表单中的非法HTML标签,从而可以防止XSS攻击

    php常用工具类,包含了JS弹窗,页面跳转,系统基本参数上传图片,html过滤,数据库输入过滤,清理session,各种验证,

    一个php常用的工具类,它包含了JS弹窗,页面跳转,系统基本参数上传图片,html过滤,数据库输入过滤,清理session,各种验证,格式化,获取ip地址,加载模板,图片水印,文件操作等等很多实用的功能工具,方便大家...

    python对html过滤处理的方法

    在IT行业中,对于网页数据的处理是一项常见的任务,其中HTML过滤处理是处理网页数据的重要环节。本文将通过Python语言,介绍如何对HTML进行过滤处理。通过阅读本文,读者可以掌握如何去除HTML中的标签、脚本、样式、...

    java实用Util类,日期,网址,html过滤,随机数

    主要用于java的代码工具,是一些工具类的集合,其中包括日期类型的转换,树形结构的过滤,html标签过滤等

Global site tag (gtag.js) - Google Analytics