最近的一个小项目被迫要写写js代码。
从数据库里面读出来的数据经常显示不出来,在firebug下看看,报unterminated string literal 错误。
查了一下,原来是数据里面如果包含单引号、双引号、换行、回车 都是违反json规范的。需要替换一下。
在客户端改:
js代码:
text = text.replace(//r/ig,"").replace(//n/ig,"").replace(/'''/ig,"").replace(/'"'/ig,"");
注意:replace(//r/n/ig, "")这样的写法在firefox和chrome下不好使,只适用于ie
我只用了js的,服务端的没用。
在服务端改:
asp:
str=replace(str,vbcrlf,"",1,-1,1)
php:
$str = str_replace("/n", "", $str);
$str = str_replace("/r", "", $str);