TO cao8208(咖啡泡面)
孤陋寡闻了吧,<td nowrap="nowrap">都有,<br/><hr/>是为了适应xml的语法:P
不过你提出的其它HTML代码也会出错,这个是有可能,但是在这个例子里不会,
因为<%= %>位于javascript的""里面, "号倒是会错,而且在这个例子里面你替换错了方向
case '"':
sf.append("\\\"");
break;
才对, 因为楼主生成的目标代码是将java String: abc"d换行efg 变换成 javascript中之间的
document.form.textarea.value = "abc\"d\nefg";
上面一行是楼主那个<%=%>那里的产生的HTML的最终样子,
因此不是<br>或者<br/>,还是应当使用\n或者\r \f之类,
public String getJSString(String text) {
StringBuffer buff = new StringBuffer();
StringTokenizer st = new StringTokenizer(text, "\n\r\f\"", true);
while(st.hasMoreTokens()) {
String t = st.nextToken();
char c = t.charAt(0);
switch (c) {
case '\n':
buff.append("\\n");
break;
case '\r':
buff.append("\\r");
break;
case '\f':
buff.append("\\f");
break;
case '\"':
buff.append("\\\"");
break;
default:
buff.append(t);
}
}
return buff.toString();
}