原始碼完整實作
package loveJSP;
public class encodeHtml {
private String html = "no input Html";
public String getHtml() {
return HTMLEncode(html);
}
public void setHtml(String html) {
this.html = html;
}
private static String HTMLEncode(String text) {
if (text == null) return "";
StringBuffer results = null;
char[] orig = text.toCharArray();
int beg = 0, len = text.length();
for (int i = 0; i < len; i++) {
char c = orig[i];
// 需編碼的特殊字元
if (c == '&' || c == '<' || c == '>' || c == '\"') {
if (results == null) results = new StringBuffer(len + 20);
results.append(orig, beg, i - beg);
beg = i + 1;
switch (c) {
case '&': results.append("&"); break;
case '<': results.append("<"); break;
case '>': results.append(">"); break;
case '\"': results.append("""); break;
}
}
}
if (results == null) return text;
results.append(orig, beg, len - beg);
return results.toString();
}
}
程式碼說明與修正重點