将新行转换为正确的Javascript值


Convert new line to correct Javascript value

我有一系列数据要放在javascript的数组中。我使用Wordpress作为cms,我的数据如下(帖子的内容):

line1
line2
line3

然而,当我试图从帖子中寻找数据时,我在javascript中看到了这段代码,比如说3篇帖子:

var locations=['line1
line2
line3','line1
line2
line3','line1
line2
line3'];

当我在控制台中查看时,我收到了此错误:未捕获的语法错误:意外的令牌非法。我在这里搜索了很多答案,但我没有成功地打断它。然而,我在内容的HTML选项卡中看到了没有<br/>,所以新行不是HTML代码。

我也试图像这样转义php中的特殊字符,但它弹出了相同的错误:

echo ''''.htmlspecialchars (get_the_content()).''',';

然而,如果内容在一行中,就像"一些文本"一样,它似乎运行正常

有什么想法吗?

谢谢!

在输出之前使用json_encode()将其转换为JavaScript文本。

实际上这是一个php问题。Javascript本身没有办法从这种语法错误中"恢复"。

echo "'".str_replace(
    array("'", "'n", "'r"),
    array("'''", "''n", "''r"),
    get_the_content()
)."'";