public static String escapeHtmlString(String src) {
		if (src == null) {
			return src;
		}
		StringBuffer sb = new StringBuffer();
		for (int i = 0; i < src.length(); i++) {
			char ch = src.charAt(i);
			switch (ch) {
			case '&':
				if (i + 1 <= src.length() && src.charAt(i + 1) == '#') {
					sb.append('&');
				} else {
					sb.append("&amp;");
				}
				break;
			case '<':
				sb.append("&lt;");
				break;
			case '>':
				sb.append("&gt;");
				break;
			case '"':
				sb.append("&quot;");
				break;
			case '\'':
				sb.append("&#39;");
				break;
			default:
				sb.append(ch);
				break;
			}
		}
		return sb.toString();
	}