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. 特殊字符轉義和HTML在Drupal
- 3. 如何在JSP中轉義特殊的HTML字符?
- 4. xml和html轉義特殊字符
- 5. 在ASP.NET中轉換HTML特殊字符
- 6. 在excel中轉換html特殊字符
- 7. 如何轉義特殊字符'\'?
- 8. SQL SERVER如何轉義特殊字符
- 9. Angularjs如何轉義特殊字符
- 10. 如何轉義特殊字符
- 11. Watir:轉義特殊字符
- 12. C++ - 轉義特殊字符
- 13. XML轉義特殊字符
- 14. 轉義特殊字符
- 15. 轉義特殊字符
- 16. 轉義特殊字符
- 17. elasticseach特殊字符轉義
- 18. JSTL轉義特殊字符
- 19. python轉義特殊字符
- 20. Javascript特殊轉義字符
- 21. 轉義特殊字符
- 22. 解析特殊字符並轉換爲HTML(轉義字符串)
- 23. 在文本中轉義特殊字符
- 24. 在sqlite中轉義特殊字符
- 25. 在AJAX中轉義XML特殊字符
- 26. 在Ruby中轉義特殊字符
- 27. 在Python中轉義3.3.2特殊字符
- 28. 如何在scala字符串中轉義特殊符號?
- 29. 如何轉義PDO連接字符串中的特殊字符?
- 30. 如何從標記字符串中轉義特殊字符?
此鏈接不再工作。這個類可以在這裏找到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