「Java」replaceAll()でhtml特殊文字エスケープを行う
特殊文字
「 < 」や「 > 」は、そのままHTMLへ出力した場合、タグの開始、終了として認識されます。
そのため、「 < 」や「 > 」などのHTML特殊文字はエスケープ(置換)する必要があります。
「 < 」は「 < 」、「 > 」は「 > 」で出力します。
関数
public String replaceAll(String regex, String replacement)
regex この文字列との一致を判定する正規表現
replacement 一致するものそれぞれに置き換えられる文字列
String.replaceAllは正規表現のマッチ箇所を置換します。
Javaコード
public static String taghtmlRep(String destStr) {
if ((destStr == null) || (destStr.length() == 0)) {
return "";
}
String dstStr = destStr;
dstStr = dstStr.replaceAll("&", "&");
dstStr = dstStr.replaceAll("<", "<");
dstStr = dstStr.replaceAll(">", ">");
dstStr = dstStr.replaceAll("\"", """);
dstStr = dstStr.replaceAll("'", "'");
return dstStr;
}
public static String taghtmlRep(String destStr) {
if ((destStr == null) || (destStr.length() == 0)) {
return "";
}
String dstStr = destStr;
dstStr = dstStr.replaceAll("&", "&");
dstStr = dstStr.replaceAll("<", "<");
dstStr = dstStr.replaceAll(">", ">");
dstStr = dstStr.replaceAll("\"", """);
dstStr = dstStr.replaceAll("'", "'");
return dstStr;
}
public static String taghtmlRep(String destStr) { if ((destStr == null) || (destStr.length() == 0)) { return ""; } String dstStr = destStr; dstStr = dstStr.replaceAll("&", "&"); dstStr = dstStr.replaceAll("<", "<"); dstStr = dstStr.replaceAll(">", ">"); dstStr = dstStr.replaceAll("\"", """); dstStr = dstStr.replaceAll("'", "'"); return dstStr; }