「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; }