14
A
回答
36
StringEscapeUtils
正好有专为这个功能:
3
这就是通常所说的 “HTML转义”。我没有意识到标准库中的任何内容(尽管您可以通过使用XML转义来近似它)。但是,有很多第三方库可以做到这一点。来自org.apache.commons.lang的StringEscapeUtils有一个可以做到这一点的escapeHtml
方法。
2
public static String stringToHTMLString(String string) {
StringBuffer sb = new StringBuffer(string.length());
// true if last char was blank
boolean lastWasBlankChar = false;
int len = string.length();
char c;
for (int i = 0; i < len; i++)
{
c = string.charAt(i);
if (c == ' ') {
// blank gets extra work,
// this solves the problem you get if you replace all
// blanks with , if you do that you loss
// word breaking
if (lastWasBlankChar) {
lastWasBlankChar = false;
sb.append(" ");
}
else {
lastWasBlankChar = true;
sb.append(' ');
}
}
else {
lastWasBlankChar = false;
//
// HTML Special Chars
if (c == '"')
sb.append(""");
else if (c == '&')
sb.append("&");
else if (c == '<')
sb.append("<");
else if (c == '>')
sb.append(">");
else if (c == '\n')
// Handle Newline
sb.append("<br/>");
else {
int ci = 0xffff & c;
if (ci < 160)
// nothing special only 7 Bit
sb.append(c);
else {
// Not 7 Bit use the unicode system
sb.append("&#");
sb.append(new Integer(ci).toString());
sb.append(';');
}
}
}
}
return sb.toString();
}
1
ヶ辆是一个包含静态方法的集合一个开源的Java类(ヶ辆,unhtmlentities,...),特殊字符和扩展字符转换成HTML entitities,反之亦然。
http://www.tecnick.com/public/code/cp_dpage.php?aiocp_dp=htmlentities
相关问题
- 1. 如何在java中为所有特殊字符(',%,\,:,{,})转义所有特殊字符
- 2. 如何在JSP中转义特殊的HTML字符?
- 3. xml和html转义特殊字符
- 4. 如何转义特殊字符'\'?
- 5. Angularjs如何转义特殊字符
- 6. 如何转义特殊字符
- 7. python转义特殊字符
- 8. C++ - 转义特殊字符
- 9. JSTL转义特殊字符
- 10. elasticseach特殊字符转义
- 11. 转义特殊字符
- 12. 转义特殊字符
- 13. 转义特殊字符
- 14. 解析特殊字符并转换为HTML(转义字符串)
- 15. 在sqlite中转义特殊字符
- 16. 在AJAX中转义XML特殊字符
- 17. 在Ruby中转义特殊字符
- 18. 如何转义PDO连接字符串中的特殊字符?
- 19. 如何从标记字符串中转义特殊字符?
- 20. 在datagrid列中转义html特殊字符
- 21. 在XML属性中转义特殊(HTML标记)字符?
- 22. 如何将字符串转换为字典在python中转义特殊字符
- 23. 如何从HTML中的XML文档转换html特殊字符
- 24. 在Unix外壳转义特殊字符
- 25. 转义cmd中的特殊字符
- 26. Python中的特殊字符转义argv
- 27. 转义SQL中的特殊字符
- 28. c中的特殊转义字符#
- 29. 如何在使用xsl将html转换为文本时转义特殊字符?
- 30. Html特殊字符
此链接不再工作。这个类可以在这里找到http://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringEscapeUtils.html和包含它的项目在这里http:// commons.apache.org/proper/commons-lang/ – Jakub 2013-06-07 12:58:55
@Jakub谢谢。用较新的URL更新了帖子。 – Amber 2013-06-08 05:09:28