因为textarea换行为"/n" 而页面显示换行为"<br/>" 在后台转换下 碰到 "/n"转换为 "<br/>"给你个全点的过滤文本代码 public static String tranStr(String oldStr) { int k = oldStr.indexOf(String.valueOf((" "))); while (k >= 0){ oldStr = oldStr.substring(0, k) + " " + oldStr.substring(k + 2, oldStr.length()); k = oldStr.indexOf(String.valueOf(" ")); } int i = oldStr.indexOf(String.valueOf((char) 13));//这里就是"/n" while (i > 0) { oldStr = oldStr.substring(0, i) + "<br>" + oldStr.substring(i + 1, oldStr.length()); i = oldStr.indexOf(String.valueOf((char) 13)); } int j = oldStr.indexOf(String.valueOf((char) 10)); while (j > 0) { oldStr = oldStr.substring(0, j) + "" + oldStr.substring(j + 1, oldStr.length()); j = oldStr.indexOf(String.valueOf((char) 10)); } return oldStr; }
保存前,textarea值的回车进行替换,回显再替换回来。
可以使用下面二个函数 //存入数据库 public class Opera { public static String OperationChar(String message) { if (message == null) { return null; } char content[] = new char[message.length()]; message.getChars(0, message.length(), content, 0); StringBuffer result = new StringBuffer(content.length + 50); for (int i = 0; i < content.length; i++) { switch (content[i]) { case '<': result.append("<"); break; case '>': result.append(">"); break; case '&': result.append("&"); break; case '"': result.append("""); break; case ' ': result.append(" "); break; case '\n': result.append("<br/>"); break; default : result.append(content[i]); } } return result.toString(); }
//显示在页面的时候 public static String DEOperationChar(String message) { if(message ==null) { return null; } StringBuffer result = new StringBuffer(); message.replaceAll("<", "<"); message.replaceAll("%gt;", ">"); message.replaceAll("&", "&"); message.replaceAll(""", "\""); message.replaceAll(" ", " ");
而页面显示换行为"<br/>"
在后台转换下
碰到 "/n"转换为 "<br/>"给你个全点的过滤文本代码
public static String tranStr(String oldStr) {
int k = oldStr.indexOf(String.valueOf((" ")));
while (k >= 0){
oldStr =
oldStr.substring(0, k)
+ " "
+ oldStr.substring(k + 2, oldStr.length());
k = oldStr.indexOf(String.valueOf(" "));
} int i = oldStr.indexOf(String.valueOf((char) 13));//这里就是"/n"
while (i > 0) {
oldStr =
oldStr.substring(0, i)
+ "<br>"
+ oldStr.substring(i + 1, oldStr.length());
i = oldStr.indexOf(String.valueOf((char) 13));
}
int j = oldStr.indexOf(String.valueOf((char) 10));
while (j > 0) {
oldStr =
oldStr.substring(0, j)
+ ""
+ oldStr.substring(j + 1, oldStr.length());
j = oldStr.indexOf(String.valueOf((char) 10));
}
return oldStr;
}
//存入数据库
public class Opera { public static String OperationChar(String message) {
if (message == null) {
return null;
}
char content[] = new char[message.length()];
message.getChars(0, message.length(), content, 0);
StringBuffer result = new StringBuffer(content.length + 50);
for (int i = 0; i < content.length; i++) {
switch (content[i]) {
case '<':
result.append("<");
break;
case '>':
result.append(">");
break;
case '&':
result.append("&");
break;
case '"':
result.append(""");
break;
case ' ':
result.append(" ");
break;
case '\n':
result.append("<br/>");
break;
default :
result.append(content[i]);
}
}
return result.toString();
}
//显示在页面的时候
public static String DEOperationChar(String message) {
if(message ==null) {
return null;
}
StringBuffer result = new StringBuffer();
message.replaceAll("<", "<");
message.replaceAll("%gt;", ">");
message.replaceAll("&", "&");
message.replaceAll(""", "\"");
message.replaceAll(" ", " ");
return message;
}
}
1.<TEXTAREA WRAP="hard">~<TEXTAREA> 傳送換行資料
2.把頁面的textarea元件的行列及換行方式設好,資料從資料庫取出後在既定的字串長度位置加入換行符就可以了
<td valign="top" width="120" style="word-wrap:break-word; overflow:hidden;"><span class="osusume_txt"><%=hm.get("NOTE").toString()%>...</span></td>
</code>
这是我显示从textarea中内容的代码。我就是要在这控制换行,请教。
<textarea>你跟我换行不? 换行了。</textarea>
调用下tranStr这个方法。。
String str=tranStr(str);
返回到页面