(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("""); break; case '\'': sb.append("'"); break; case '&': sb.append("&"); break; case '<': sb.append("<"); break; case '>': sb.append(">"); 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
源代码见附件
相关推荐
在Java编程中,"java过滤html代码"是一个常见的需求,主要目的是为了安全考虑,比如防止XSS(跨站脚本攻击)或者为了提取纯文本内容。这个任务可以通过使用正则表达式来实现,正如描述中提到的那样。下面我们将详细...
`UnHtmlScript`工具类就是为了解决这个问题而设计的,它能够帮助开发者有效地过滤掉HTML、CSS和JavaScript标签,提取出纯文本内容。 HTML标签是用来构建网页结构的,例如`<p>`用于段落,`<a>`用于链接等。CSS则是...
"Java 中过滤Html标签" Java 中过滤Html标签是指在Java语言中删除或替换HTML标签的过程。...使用正则表达式过滤Html标签是Java中的一种常见技术,可以用来删除恶意代码、防止XSS攻击、显示纯文本等。
首先,让我们了解一下Java过滤器的基础知识。在Java Servlet规范中,Filter接口定义了过滤器的行为。一个过滤器可以通过实现`doFilter()`方法来拦截请求和响应,并对其进行处理。通过在web.xml配置文件中定义过滤器...
本文介绍了如何使用Java中的正则表达式库来过滤HTML标签,并提供了具体的代码示例。通过合理地设计正则表达式,不仅可以有效地过滤HTML标签,还可以实现更复杂的功能,如提取特定属性等。这对于处理大量包含HTML格式...
总结来说,"javaxss必备jar包及过滤器代码"涉及到的是在Java Web应用程序中防止XSS攻击的关键技术。通过使用像`xssProtect-0.1.jar`这样的库,配合自定义的过滤器代码,我们可以有效地减少XSS攻击的风险,保护用户的...
XXSProtect通过过滤输入数据,防止恶意代码在网页上被执行。 在提供的描述中,我们看到XXSProtect的实现包括以下几个关键部分: 1. **XSS/bin**: 这个文件夹包含了所有必要的jar包,这些jar包可能包含XXSProtect的...
HTML代码过滤技术是一种网络安全与网页内容管理的重要手段。在互联网环境中,HTML(HyperText Markup Language)是构建网页的基础,但同时也可能被恶意用户利用来执行有害操作,如注入跨站脚本(XSS)、钓鱼攻击等。...
在Java开发中,请求参数过滤拦截是一个至关重要的环节,它涉及到系统的安全性、稳定性和数据的正确性。这里的“java请求参数过滤拦截”主要是指在接口接收到用户输入的数据时,通过过滤器(Filter)对参数进行检查,...
本文所介绍的“wap代码html过滤器”正是这样一款工具,其主要功能在于对标准HTML代码进行过滤和转换,使其适应WAP浏览器的显示需求。具体来说,该过滤器实现了以下几项核心操作: 1. **替换HTML标签为WAP兼容的标签...
2. **JSP(Java Server Pages)**:JSP是另一种服务器端技术,允许在HTML页面中嵌入Java代码,简化了视图层的开发。JSP会被编译成Servlet执行。学习源代码时,注意JSP指令(`<%@ %>`)、脚本元素(`<% %>`)和表达式...
总结一下,这个Java程序通过遍历目录、读取文件内容、分割行并过滤注释,实现了统计指定目录下所有Java源文件的代码行数。这在软件度量和项目管理中是一个实用的工具,可以帮助我们了解代码库的规模和结构。
确保对HTML进行适当的清理和过滤,避免恶意代码被执行。 综上所述,"java后台html转excel"的技术涵盖了HTML解析、数据提取、Excel文件生成、数据映射与格式化等多个环节。虽然这个技术可能还有待完善,但通过学习和...
它结合了HTML和Java代码,使得开发者可以在页面上直接编写动态内容。在登录注册页面中,JSP可能用来展示表单,处理用户输入,并在成功或失败时显示相应的反馈。 4. **自动登录程序**:"自动登录"功能通常涉及存储...
### 六个有用的Java过滤器知识点详解 在Java Web开发中,过滤器(Filter)是一种非常重要的技术,它能够对用户的请求和响应进行预处理或后处理,从而实现各种功能需求,例如设置缓存策略、登录验证、字符编码转换等...
1. **JSP(JavaServer Pages)**:JSP是Java的一种动态网页技术,它允许在HTML页面中嵌入Java代码,实现了视图层与业务逻辑的分离。在本项目中,JSP主要用于展示用户界面,如商品列表、购物车内容等,通过EL...
本文主要介绍了使用JAVA过滤标签实现将html内容转换为文本的方法,涉及java针对HTML代码的正则替换相关操作技巧。以下是实现该方法的详细知识点: 1. 使用正则表达式去掉HTML标签:在将html内容转换为文本时,需要...
4. **JavaWeb**:`JavaWeb代码(完).rar`可能包含了一系列Java Web开发的练习项目,涵盖JSP、Servlet、过滤器、监听器、JSTL、EL表达式等技术,这些都是构建动态Web应用的基础。 5. **多线程**:`多线程代码.rar`...
以下代码展示了如何使用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....