如何在 html 内容中对特殊字符进行编码
在Java中,是否有可用的第三方源或快速命令将字符串中的html特殊字符转换为html编码的内容?
例如:
Original code: <>&abcdef ©
After encoding: <>&abcdef©
在Java中,是否有可用的第三方源或快速命令将字符串中的html特殊字符转换为html编码的内容?
例如:
Original code: <>&abcdef ©
After encoding: <>&abcdef©
如果要将字符串转换为 HTML 实体以快速测试某些内容,可以使用如下所示的 Web 服务:
http://www.primitivetype.com/resources/htmlentities.php
[编辑]对于Java,你可以使用来自Apache Commons Lang的StringEscapeUtils。请参阅此主题:在Java中转义HTML的推荐方法
import static org.apache.commons.lang.StringEscapeUtils.escapeHtml;
// ...
String source = "The less than sign (<) and ampersand (&) must be escaped before using them in HTML";
String escaped = escapeHtml(source);
我从上面提到的线程中借用了这个例子。
这已经很老了,但它还没有一个公认的答案。这是我的纯java版本:
public String toHTML(String str) {
String out = "";
for (char c: str.toCharArray()) {
if(!Character.isLetterOrDigit(c))
out += String.format("&#x%x;", (int)c);
else
out += String.format("%s", c);
}
return out;
}
非常适合 html5 和 utf-8。