「Java」String.replaceAll()メソッドでhtml特殊文字エスケープ処理をするサンプル
説明
特殊文字 > < & \ '
public String replaceAll(String regex,String replacement)
指定された正規表現に一致する、この文字列の各部分文字列に対し、
指定された置換を実行します。
Javaコード
package com.arkgame.study; public class EscapHtmlDemo { public static void main(String[] args) { String cftA = "<input onclick='location.href='test'' type='button' value='back'>"; String resA = escapeHtml(cftA); System.out.println("文字列Aのescape結果:\n" + resA); String cftB = "<a href=\"./sample.jsp?userid=12&name=>yadd&devud=<23\">'test2020</a>"; String resB = escapeHtml(cftB); System.out.println("文字列Bのescape結果:\n" + resB); } // エスケープ処理 public static String escapeHtml(String target) { if (target.length() == 0 || target == null) { return ""; } String result = target; result = result.replaceAll("&", "&"); result = result.replaceAll("<", "<"); result = result.replaceAll(">", ">"); result = result.replaceAll("'", "'"); result = result.replaceAll("\"", """); return result; } }
結果
文字列Aのescape結果:
<input onclick='location.href='test'' type='button' value='back'>
文字列Bのescape結果:
<a href="./sample.jsp?userid=12&name=>yadd&devud=<23">'test2020</a>