javascript使用字符串中的换行符设置var

时间:2015-02-13 15:50:01

标签: javascript jquery

我有一个带评论系统的网站。系统会抓取之前的评论,并将其添加到下一个评论中。

In reply to your comment:\n<?php echo $_POST['firstComment'];?>\n-------------\n

当用户尝试添加新评论时,我会抓住上面一行并将其抛出:

$('#addCommentButton').click(function(){
            var id = $(this).attr('name');
            var firstComment = "<?php echo $bodyComment;?>";
            $.ajax({.......

问题是var firstComment被定义为:

"In reply to your comment:
 g
  -------------
  asdfasfasfsfsdfsdf";

我最终得到了一个javascript错误:

 Uncaught SyntaxError: Unexpected token ILLEGAL

问题在于我需要新的换行符,因此注释框看起来很明显。

如何将变量firstComment设置为包含新换行符的内容?我试过了:

var firstComment = "<?php echo $bodyComment;?>".replace("\n|\r\n|&#13;&#10;","");

仍然得到错误。

1 个答案:

答案 0 :(得分:3)

使用json_encode

var firstComment = <?php echo json_encode($bodyComment);?>;

就像你用htmlspecialchars转义输出HTML安全字符串一样,你需要一个类似于JavaScript字符串/数据的转义函数;