$order = array("\r\n", "\n", "\r");
$st=str_replace($order,'', $v['content']);
echo "<script type=\"text/javascript\">\nshowAlert(\"<br><h4>成功领取XXX一份:<h4><br>".$st."<br><br><h3><a href='http://www.www.com/' target='_blank'>点击进入</a>,赢取更多惊喜!</h3>\",\"100\",\"200\");</script>";
直接输出无法显示 因为 $v['content'])带有 \n 换行。
未结束的字符串常量
1.JAVASCRIPT引用时,使用的字符语言不一致.
比如:<script type=”text/javascript” src=”xxx.js” charset=”UTF-8″>.xxx.js文件内部使用的是GB2312的格式,外面调用使用的是UTF-8,所以文件内部部分特殊字符因为格式不一致,出现乱码,造成此原因.
2.JAVASCRIPT输出HTML字符时,前后标记不匹配.
这种比较常见,往往在输出字符串时,出现单引号(’)或双引号(”)不配对,或者是在document.write()的时候,没有正确输出单引号(’)或双引号(”)
3.参数内出现HTML标记语言或包含换行符
代码里不可以有\n \t 等换行数据.
js码中 若出现'<p>hi,</p> ←隐藏的换行
<p>welcome</p>'
即会出现 未结束的字符串常量 的报错,原因在于字符串中含有回车换行;
若去掉回车换行,改为'<p>hi,</p><p>welcome</p>',即不会报错。