[英]Java - Escape HTML characters excluding some characters
我嘗試在HTML代碼中轉義特殊字符,但標記(<,>,“,”,'和&)中使用的字符除外。我嘗試為此搜索現有庫(即StringEscapeUtils
),但所有這些庫也轉義了< ,>,“,”和&-我不想轉義的字符。
例如,如果我有
<div>— £</div>
我希望將其轉換為
<div>— £</div>
我不想成為
<div>— £</div>
用Java有什么辦法嗎?
將此類添加到您的代碼中。 (該包是必需的,因為代碼使用了一些包范圍的名稱。)
package org.apache.commons.lang;
public class Fix extends Entities {
public static final Entities HTML04;
static {
HTML04 = new Entities();
HTML04.addEntities(ISO8859_1_ARRAY);
HTML04.addEntities(HTML40_ARRAY);
}
public static String escapeHtml(String str) {
if (str == null) {
return null;
}
return HTML04.escape(str);
}
}
現在可以使用<, >, &, "
轉義HTML,而無需使用
String html = "<div> & — £ \"</div>
Fix.escapeHtml(html)
輸出:
<div> & — £ "</div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.