如何在html内容中编码特殊字符

Ros*_*han 12 html java

在Java中,是否有可用的第三方源或快速命令将字符串中的html特殊字符转换为html编码内容?

例如:

Original code:     <>&abcdef ©
After encoding:    &lt;&gt;&amp;abcdef&copy;
Run Code Online (Sandbox Code Playgroud)

das*_*zul 6

如果要将字符串转换为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);
Run Code Online (Sandbox Code Playgroud)

我借用了上面提到的那个例子.


小智 5

这是旧的,但还没有公认的答案。这是我的纯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;
}
Run Code Online (Sandbox Code Playgroud)

与 html5 和 utf-8 配合良好。