从JSON以HTML格式正确显示\n\r
我从数据库中提取了一个字符串,并使用Servlet从后端发送。servlet构造JSON并将其发送给客户端 我使用这个函数来转义JSON从JSON以HTML格式正确显示\n\r,json,gwt,html-encode,Json,Gwt,Html Encode,我从数据库中提取了一个字符串,并使用Servlet从后端发送。servlet构造JSON并将其发送给客户端 我使用这个函数来转义JSON public static String toHTML(String string){ StringBuffer sb = new StringBuffer(); for(int i=0;i<string.length();i++){ cha
public static String toHTML(String string){
StringBuffer sb = new StringBuffer();
for(int i=0;i<string.length();i++){
char ch=string.charAt(i);
switch(ch){
case '"':
sb.append("\\\"");
break;
case '\\':
sb.append("\\\\");
break;
case '\b':
sb.append("\\b");
break;
case '\f':
sb.append("\\f");
break;
case '\n':
sb.append("\\n");
break;
case '\r':
sb.append("\\r");
break;
case '\t':
sb.append("\\t");
break;
case '/':
sb.append("\\/");
break;
default:
//Reference: http://www.unicode.org/versions/Unicode5.1.0/
if((ch>='\u0000' && ch<='\u001F') || (ch>='\u007F' && ch<='\u009F') || (ch>='\u2000' && ch<='\u20FF')){
String ss=Integer.toHexString(ch);
sb.append("\\u");
for(int k=0;k<4-ss.length();k++){
sb.append('0');
}
sb.append(ss.toUpperCase());
}
else{
sb.append(ch);
}
}
}//for
return sb.toString();
}
公共静态字符串到HTML(字符串){
StringBuffer sb=新的StringBuffer();
for(int i=0;i\r\n
显然是浏览器无法解释的。将\r\n
替换为
,您的HTML换行符就会出现。相应地替换其他标记。JavaScript函数替换换行符
var nl2br = function(str, is_xhtml) {
var breakTag = (is_xhtml || typeof is_xhtml === 'undefined') ? '<br />' : '<br>';
return (str + '').replace(/([^>\r\n]?)(\r\n|\n\r|\r|\n)/g, '$1' + breakTag + '$2');
}
console.log(nl2br('asdf', false)); // asdf
console.log(nl2br('as\r\ndf', false)); // as<br>
//
// df
console.log(nl2br('as\n\rdf', true)); // as<br />
//
// df
var nl2br=函数(str,is_xhtml){
var breakTag=(is|xhtml | typeof is|xhtml==='undefined')?“
”:“
”;
返回(str+'')。替换(/([^>\r\n]?)(\r\n |\n\r |\r |\n)/g,'$1'+breakTag+'$2');
}
log(nl2br('asdf',false));//asdf
log(nl2br('as\r\ndf',false));//as
//
//df
log(nl2br('as\n\rdf',true)); // 作为
//
//df