Javascript: unterminated string literal 解决方法
2015-04-08来源:

javascript使用document.write(str)进行输出时,常提示下列错误:

Error: unterminated string literal。通常原因是输出字符str中包含换行符导致的。

解决方法如下:

asp:

str=replace(str,vbcrlf,"",1,-1,1)

php:

$str = str_replace(" ", "", $str);

$str = str_replace(" ", "", $str);

然后再进行document.write(str)输出。

注:

jsp的对应函数:

public static final String htmlToCode(String s)

{

if(s == null)

{

return "";

} else

{ s = s.replace(" ", "<br>&nbsp;&nbsp;");

s = s.replace(" ", "<br>&nbsp;&nbsp;");//这才是正确的!

s= s.replace("", "&nbsp;&nbsp;&nbsp;&nbsp;");

s =s.replace(" ", "&nbsp;");

s=s.replace(""", "\"+""");//如果原文含有双引号,这一句最关键!!!!!!

return s;

}

}

如果这样写报错

s = s.replace(" ", "<br>&nbsp;&nbsp;");

s = s.replace(" ", "<br>&nbsp;&nbsp;");//这才是正确的!

s= s.replace("", "&nbsp;&nbsp;&nbsp;&nbsp;");

s =s.replace(" ", "&nbsp;");

s=s.replace(""", "\"+""");//如果原文含有双引号,这一句最关键!!!!!!

不加最后一句就会无法判断双引号报错,注意最后一句是用"替换“,但是注意转义字符写法!!!

这是普通的解决方法,另外一种保留回车的方法

先将 替换为<br>,然后再将 与 替换掉,而不是简单的舍弃为‘’。

function my_nl2br($s)

{

return str_replace(" ",'<br>',str_replace(" ",'<br>',str_replace(" ",'<br>',$s)));

}

更多信息请查看IT技术专栏

推荐信息
Baidu
map