javascript数组中有新行时出错

javascript数组中有新行时出错,javascript,php,json,yii2,yii2-advanced-app,Javascript,Php,Json,Yii2,Yii2 Advanced App,我将数组转换为json以使用数据。我在数组中有换行符时出错 这是我的密码: <script> function showKnowledgeItem(id) { var title = []; var text = []; <?php $query = (new \yii\db\Query()) ->select('') ->from(

我将数组转换为json以使用数据。我在数组中有换行符时出错

这是我的密码:

 <script>
        function showKnowledgeItem(id) {

            var title = [];
            var text = [];

    <?php
    $query = (new \yii\db\Query())
            ->select('')
            ->from('fc_knowledge')
            ->all();

    $arr = array();
    $arr = json_encode($query, true);
    $json_output = json_decode($arr);

    foreach ($json_output as $title) {
        ?>
                title [<?= $title->id ?>] = ["<?= $title->title ?>"];
        <?php
    }
    foreach ($json_output as $content) {
        ?>
                text [<?= $content->id ?>] = ["<?= $content->content ?>"];
        <?php
    }
    ?>
        }
    </script> 

函数showKnowledgeItem(id){
var title=[];
var text=[];
标题[]=[“”];
文本[]=[“”];
}
这段代码运行良好。但是当数组中有新行断线时,它不起作用

这张图片中明显的错误是:


有人知道我必须解决这个问题吗。非常感谢你。

删除
$title->title

trim(preg_replace('/\s\s+/', '<br/>', $title->title ));
trim(preg_replace('/\s\s+/','
',$title->title));
删除
$title->title

trim(preg_replace('/\s\s+/', '<br/>', $title->title ));
trim(preg_replace('/\s\s+/','
',$title->title));
像这样的新行不是有效的json。如果你想保留新线,你必须避开它们。查看是否使用PHP5.0.2或更高版本,您可以使用
$str=str\u replace(PHP\u EOL,,$str)像这样的新行不是有效的json。如果你想保留新线,你必须避开它们。查看是否使用PHP5.0.2或更高版本,您可以使用
$str=str\u replace(PHP\u EOL,,$str)Malyaita,但我需要新行。它会删除所有插入文本吗?是的,然后您需要将新行替换为
。我更改了代码Malyaita,但我需要新行。它会删除所有插入文本吗?是的,然后您需要将新行替换为
。我改了密码