Tuesday, February 21, 2006

HTMLで特殊文字と表示されない文字を表示できるように変換する。

/**
* HTMLで特殊文字と表示されない文字を表示できるように変換する。

* 「<」→「&lt;」

* 「>」→「&gt;」

* 「&」→「&amp;」

* 「"」→「&quot;」

* (半角スペース)→「&nbsp;」

* (改行)→「<br>」
* @param str 変換したい文字列
* @return 変換後の文字列
*/
public static String escape(String str) {
if (str == null) {
return "";
}
StringBuffer newStr = new StringBuffer();
char[] c = str.toCharArray();
boolean lfCheck = true;
for (int i = 0; i < c.length; i++) {
switch (c[i]) {
case '<':
newStr.append("<");
break;
case '>':
newStr.append(">");
break;
case '&':
newStr.append("&");
break;
case '"':
newStr.append(""");
break;
case ' ':
newStr.append(" ");
break;
case '\n':
if (lfCheck)
newStr.append("
");
lfCheck = true;
break;
case '\r':
newStr.append("
");
lfCheck = false;
break;
default:
newStr.append(c[i]);
}
}
return newStr.toString();
}

0 Comments:

Post a Comment

<< Home