StringEscapeUtils.escapeHtml(String)也会转义$符号吗?

时间:2017-12-01 08:10:37

标签: java stringescapeutils

我想要转义$符号以及其他字符,例如'<&#;''>'所以只是想知道StringEscapeUtils是否支持这个。如果没有,我怎么能逃脱呢?

2 个答案:

答案 0 :(得分:1)

看起来没有。您可以使用以下代码进行尝试:

StringEscapeUtils.escapeHtml("<b>Hello, World!</b>$")

输出

&lt;b&gt;Hello, World!&lt;/b&gt;$

答案 1 :(得分:1)

在commons-lang 3弃用StringEscapeUtils之后,我测试了从commons-text 1.1执行以下操作:

public static void main(String[] args)
{
    System.out.println(StringEscapeUtils.escapeHtml4("$ % > < = #"));
}

输出$ % &gt; &lt; = #

它没有逃脱&#34; $&#34;开箱即用,但新的Utils in commons-text使用户能够扩展它。请阅读this article以获取示例。这是一个小的,但文章显示了更高级的可能性:

Map<CharSequence, CharSequence> added = new HashMap<>();
added.put("$", "foo");
System.out.println(StringEscapeUtils.ESCAPE_HTML4
                                    .with(new LookupTranslator(added))
                                    .translate("$ % > < = #"));

输出foo % &gt; &lt; = #