字符串中的转义字符排除 html 标签

Escape characters in string exclude html tags

有什么方法可以在包含我不想转义的 html 标签的字符串中转义 Java 个字符吗?例如在字符串中我有

<h1>a b c d ö</h1>

我需要得到:

<h1>a b c d &ouml</h1>

参见:

https://commons.apache.org/proper/commons-lang/javadocs/api-3.1/org/apache/commons/lang3/StringEscapeUtils.html#escapeHtml4%28java.lang.String%29

  public static void main(String[] args) {
    String s = "a b c d ö";
    System.out.println(StringEscapeUtils.escapeHtml4(s));
  }

检查这个:

String textIn = "<h1>a b c d ö</h1>";

String textOut = StringEscapeUtils.escapeHtml4(textIn);

println 文本输出:&lt;h1&gt;a b c d &ouml;&lt;/h1&gt


对于xml或标签:

String textIn = "<h1>a b c d ö</h1>";

String textOut = StringEscapeUtils.unescapeXml(StringEscapeUtils.escapeHtml4(textIn));

println: textOut <h1>a b c d &ouml;</h1>