`
阅读更多

(1)java 如何escape HTML代码

如何转义HTML标签

/**
	 * 去除HTML字串中的控制字符及不可视字符
	 * 
	 * @param str
	 *            HTML字串
	 * @return 返回的字串
	 */
	public static String escapeHTML(String str) {
		int length = str.length();
		int newLength = length;
		boolean someCharacterEscaped = false;
		for (int i = 0; i < length; i++) {
			char c = str.charAt(i);
			int cint = 0xffff & c;
			if (cint < 32)
				switch (c) {
				case 11:
				default:
					newLength--;
					someCharacterEscaped = true;
					break;

				case '\t':
				case '\n':
				case '\f':
				case '\r':
					break;
				}
			else
				switch (c) {
				case '"':
					newLength += 5;
					someCharacterEscaped = true;
					break;

				case '&':
				case '\'':
					newLength += 4;
					someCharacterEscaped = true;
					break;

				case '<':
				case '>':
					newLength += 3;
					someCharacterEscaped = true;
					break;
				}
		}
		if (!someCharacterEscaped)
			return str;

		StringBuffer sb = new StringBuffer(newLength);
		for (int i = 0; i < length; i++) {
			char c = str.charAt(i);
			int cint = 0xffff & c;
			if (cint < 32)
				switch (c) {
				case '\t':
				case '\n':
				case '\f':
				case '\r':
					sb.append(c);
					break;
				}
			else
				switch (c) {
				case '"':
					sb.append("&quot;");
					break;

				case '\'':
					sb.append("&apos;");
					break;

				case '&':
					sb.append("&amp;");
					break;

				case '<':
					sb.append("&lt;");
					break;

				case '>':
					sb.append("&gt;");
					break;

				default:
					sb.append(c);
					break;
				}
		}
		return sb.toString();
	}

 测试:

@Test
	public void test_001(){

		String input="<html><input type=\"button\" onlick=\"abc()\" > </html>";
		System.out.println(input);
		System.out.println(StringUtil.escapeHTML(input));
	}

 运行结果:

 

 

(2)java 如何去除html标签,只留下文本

/**
	 * 删除input字符串中的html格式
	 * 
	 * @param input
	 * @param length
	 *            显示的字符的个数
	 * @return
	 */
	public static String splitAndFilterString(String input, int length) {
		if (input == null || input.trim().equals("")) {
			return "";
		}
		// 去掉所有html元素,
		String str = input.replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll(
				"<[^>]*>", "");
		str = str.replaceAll("[(/>)<]", "");
		int len = str.length();
		if (len <= length) {
			return str;
		} else {
			str = str.substring(0, length);
			str += "......";
		}
		return str;
	}

	/**
	 * 返回纯文本,去掉html的所有标签,并且去掉空行
	 * 
	 * @param input
	 * @return
	 */
	public static String splitAndFilterString(String input) {
		if (input == null || input.trim().equals("")) {
			return "";
		}
		// 去掉所有html元素,
		String str = input.replaceAll("\\&[a-zA-Z]{1,10};", "").replaceAll(
				"<[^>]*>", "");
		str = str.replaceAll("[(/>)<]", "");
		return SystemHWUtil.deleteCRLF(str);
	}

/***
	 * Delete all spaces
	 * 
	 * @param input
	 * @return
	 */
	public static String deleteAllCRLF(String input) {
		return input.replaceAll("((\r\n)|\n)[\\s\t ]*", "").replaceAll(
				"^((\r\n)|\n)", "");
	}

	/**
	 * delete CRLF; delete empty line ;delete blank lines
	 * 
	 * @param input
	 * @return
	 */
	public static String deleteCRLF(String input) {
		input = SystemHWUtil.deleteCRLFOnce(input);
		return SystemHWUtil.deleteCRLFOnce(input);
	}

 见类com\common\util\SystemHWUtil.java

源代码见附件

  • 大小: 10.1 KB
0
3
分享到:
评论
1 楼 jackyrong 2015-01-15  
apache common包中有相关工具类了

相关推荐

    java过滤html代码

    在Java编程中,"java过滤html代码"是一个常见的需求,主要目的是为了安全考虑,比如防止XSS(跨站脚本攻击)或者为了提取纯文本内容。这个任务可以通过使用正则表达式来实现,正如描述中提到的那样。下面我们将详细...

    java过滤html,css,js标签工具类(UnHtmlScript)

    `UnHtmlScript`工具类就是为了解决这个问题而设计的,它能够帮助开发者有效地过滤掉HTML、CSS和JavaScript标签,提取出纯文本内容。 HTML标签是用来构建网页结构的,例如`&lt;p&gt;`用于段落,`&lt;a&gt;`用于链接等。CSS则是...

    Java 中 过滤Html标签

    "Java 中过滤Html标签" Java 中过滤Html标签是指在Java语言中删除或替换HTML标签的过程。...使用正则表达式过滤Html标签是Java中的一种常见技术,可以用来删除恶意代码、防止XSS攻击、显示纯文本等。

    Java过滤器,字符过滤,标签过滤

    首先,让我们了解一下Java过滤器的基础知识。在Java Servlet规范中,Filter接口定义了过滤器的行为。一个过滤器可以通过实现`doFilter()`方法来拦截请求和响应,并对其进行处理。通过在web.xml配置文件中定义过滤器...

    java正则表达式过滤html标签

    本文介绍了如何使用Java中的正则表达式库来过滤HTML标签,并提供了具体的代码示例。通过合理地设计正则表达式,不仅可以有效地过滤HTML标签,还可以实现更复杂的功能,如提取特定属性等。这对于处理大量包含HTML格式...

    javaxss必备jar包及过滤器代码

    总结来说,"javaxss必备jar包及过滤器代码"涉及到的是在Java Web应用程序中防止XSS攻击的关键技术。通过使用像`xssProtect-0.1.jar`这样的库,配合自定义的过滤器代码,我们可以有效地减少XSS攻击的风险,保护用户的...

    java的xxsProtect过滤xss

    XXSProtect通过过滤输入数据,防止恶意代码在网页上被执行。 在提供的描述中,我们看到XXSProtect的实现包括以下几个关键部分: 1. **XSS/bin**: 这个文件夹包含了所有必要的jar包,这些jar包可能包含XXSProtect的...

    HTML代码过滤技术

    HTML代码过滤技术是一种网络安全与网页内容管理的重要手段。在互联网环境中,HTML(HyperText Markup Language)是构建网页的基础,但同时也可能被恶意用户利用来执行有害操作,如注入跨站脚本(XSS)、钓鱼攻击等。...

    java 请求参数过滤拦截

    在Java开发中,请求参数过滤拦截是一个至关重要的环节,它涉及到系统的安全性、稳定性和数据的正确性。这里的“java请求参数过滤拦截”主要是指在接口接收到用户输入的数据时,通过过滤器(Filter)对参数进行检查,...

    wap代码 html过滤器(java)

    本文所介绍的“wap代码html过滤器”正是这样一款工具,其主要功能在于对标准HTML代码进行过滤和转换,使其适应WAP浏览器的显示需求。具体来说,该过滤器实现了以下几项核心操作: 1. **替换HTML标签为WAP兼容的标签...

    java课本源代码

    2. **JSP(Java Server Pages)**:JSP是另一种服务器端技术,允许在HTML页面中嵌入Java代码,简化了视图层的开发。JSP会被编译成Servlet执行。学习源代码时,注意JSP指令(`&lt;%@ %&gt;`)、脚本元素(`&lt;% %&gt;`)和表达式...

    java实现统计代码行数

    总结一下,这个Java程序通过遍历目录、读取文件内容、分割行并过滤注释,实现了统计指定目录下所有Java源文件的代码行数。这在软件度量和项目管理中是一个实用的工具,可以帮助我们了解代码库的规模和结构。

    java后台html 转excel

    确保对HTML进行适当的清理和过滤,避免恶意代码被执行。 综上所述,"java后台html转excel"的技术涵盖了HTML解析、数据提取、Excel文件生成、数据映射与格式化等多个环节。虽然这个技术可能还有待完善,但通过学习和...

    JAVA登陆注册代码

    它结合了HTML和Java代码,使得开发者可以在页面上直接编写动态内容。在登录注册页面中,JSP可能用来展示表单,处理用户输入,并在成功或失败时显示相应的反馈。 4. **自动登录程序**:"自动登录"功能通常涉及存储...

    六个有用的java过滤器

    ### 六个有用的Java过滤器知识点详解 在Java Web开发中,过滤器(Filter)是一种非常重要的技术,它能够对用户的请求和响应进行预处理或后处理,从而实现各种功能需求,例如设置缓存策略、登录验证、字符编码转换等...

    Java实现购物车代码

    1. **JSP(JavaServer Pages)**:JSP是Java的一种动态网页技术,它允许在HTML页面中嵌入Java代码,实现了视图层与业务逻辑的分离。在本项目中,JSP主要用于展示用户界面,如商品列表、购物车内容等,通过EL...

    JAVA过滤标签实现将html内容转换为文本的方法示例

    本文主要介绍了使用JAVA过滤标签实现将html内容转换为文本的方法,涉及java针对HTML代码的正则替换相关操作技巧。以下是实现该方法的详细知识点: 1. 使用正则表达式去掉HTML标签:在将html内容转换为文本时,需要...

    java的一些代码.zip

    4. **JavaWeb**:`JavaWeb代码(完).rar`可能包含了一系列Java Web开发的练习项目,涵盖JSP、Servlet、过滤器、监听器、JSTL、EL表达式等技术,这些都是构建动态Web应用的基础。 5. **多线程**:`多线程代码.rar`...

    java百度编辑器提交过滤标签方法

    以下代码展示了如何使用Java的`Pattern`和`Matcher`类过滤HTML、CSS和JavaScript标签: ```java java.util.regex.Pattern p_script; java.util.regex.Matcher m_script; java.util.regex.Pattern p_style; java....

Global site tag (gtag.js) - Google Analytics