特殊文字を実体参照に置換する
HTML や XML 等のタグを使用した言語では < や & などの様に構造で使用している文字はそのままでは利用できません。
そこで、データベース等のデータを HTML に表示する時やデータを XML に保存する時などは、実体参照に置換しなければいけません。
ここで、置換する方法を紹介します。
ソース記述例
public static String replaceEntityReference(String value) {
if (value == null) {
return value;
}
StringBuffer buff = new StringBuffer();
for (int i = 0; i < value.length(); i++) {
switch (value.charAt(i)) {
case '&' :
if (i + 1 <= value.length() && value.charAt(i + 1) == '#') {
buff.append('&');
} else {
buff.append("&");
}
break;
case '<' :
buff.append("<");
break;
case '>' :
buff.append(">");
break;
case '"' :
buff.append(""");
break;
case '\'' :
buff.append("'");
break;
default :
buff.append(value.charAt(i));
break;
}
}
return buff.toString();
}
|