如何在php中转换新的行字符输出到javascript字符串值?

Ano*_*ous 3 javascript php

我拿出一些我需要插入到javascript变量中的html /文本字符串.

例如,这就是它在php中的样子:

echo "<script type=\"text/javascript\">\n";
echo "var myvar='{$value}'";
echo "\n</script>";
Run Code Online (Sandbox Code Playgroud)

上述方法的问题是一些特殊字符实际上会破坏javascript代码.

所以,我尝试使用htmlspecialchars:

htmlspecialchars($value,11,'utf-8',true); //11 stands for ENT_QUOTES|ENT_SUBSTITUTE
Run Code Online (Sandbox Code Playgroud)

这确实取代了一些不寻常的字符,最重要的是引号.

然而,新的行字符传递它并打破我的JavaScript.

那我怎么能逃脱新的线路?我需要保留它们以便稍后在textareas中使用.

*编辑*我将发布我的变量的样本值.(它们实际上是来自Tiny_mce的输入)

 <p>You've been...</p>
 <p><iframe src="http://www.youtube.com/embed/8d7OBluielc?wmode=transparent" frameborder="0" width="640" height="360"></iframe></p>
Run Code Online (Sandbox Code Playgroud)

dec*_*eze 11

<script type="text/javascript">
    var myvar = <?php echo json_encode($value); ?>;
</script>
Run Code Online (Sandbox Code Playgroud)

JSON == Javascript表示法==输出到Javascript的任何值的正确编码/转义方法.