JavaでHTMLエスケープ(置換)について
「 < 」や「 > 」は、そのままHTMLへ出力した場合、タグの開始、終了として認識されます。そのため、「 < 」や「 > 」などのHTML特殊文字はエスケープ(置換)する必要があります。「 < 」は「 < 」、「 > 」は「 > 」で出力します。
<INPUT>や<TEXTAREA>に文字列を出力する場合は、注意が必要です。
「 < 」をHTMLへ出力した場合、「 < 」と表示されるため、「 & 」は「 & 」で出力します。「 & 」から始まるコードで記述することを「文字参照」といいます。
JavaでHTMLエスケープのサンプルソース
<** * HTMLエスケープ出力データコンバート * * @param pData 変換文字列 * @return 文字列 *> public static String toHtmlString(String pData){ String s = ""; for (int i = 0; i < pData.length(); i++) { Character c = new Character(pData.charAt(i)); switch (c.charValue()) { case '&' : s = s.concat("&"); break; case '<' : s = s.concat("<"); break; case '>' : s = s.concat(">"); break; case '"' : s = s.concat("""); break; case '\'' : s = s.concat("'"); break; default : s = s.concat(c.toString()); break; } } return s; }