【发布时间】:2017-01-13 10:57:34
【问题描述】:
我将数组转换为 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>
此代码运行良好。但是当数组中有new line或break line时,就不起作用了。
有谁知道我必须解决这个问题。让你大吃一惊。
【问题讨论】:
-
这样的新行不是有效的 json。如果要保留新行,则必须对其进行转义。见documentation
-
如果您使用 PHP 5.0.2 或更高版本,您可以使用
$str = str_replace(PHP_EOL, '', $str);
标签: javascript php json yii2 yii2-advanced-app