「Java」replaceAll()でhtml特殊文字エスケープを行う

2022年7月1日

特殊文字
「 < 」や「 > 」は、そのままHTMLへ出力した場合、タグの開始、終了として認識されます。
そのため、「 < 」や「 > 」などのHTML特殊文字はエスケープ(置換)する必要があります。
「 < 」は「 &lt; 」、「 > 」は「 &gt; 」で出力します。

関数
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("&", "&amp;");
  dstStr = dstStr.replaceAll("<", "&lt;");
  dstStr = dstStr.replaceAll(">", "&gt;");
  dstStr = dstStr.replaceAll("\"", "&quot;");
  dstStr = dstStr.replaceAll("'", "&#39;");
  return dstStr;
}

 

Java

Posted by arkgame