如何使用内联html解析json?

时间:2016-01-26 18:53:53

标签: php json node.js

我在两个系统之间传递数据。在PHP中,我有一个格式化文本的函数:

function cleanText($string) {
    return '<p>'.trim(preg_replace('/\n+/', '</p><p>', $string)).'</p>';
}

这就是我将php-array作为json输出的方式:

echo json_encode($data);

然后我在Ajax中传递了这些数据,所以我收到了这样的文字:

{"content":"<p>Hej! Detta ska nu vara ordnat! Ledsen f\u00f6r besv\u00e4r.<\/p>"}

在另一个系统中我使用Node.js并解析如下:

json = JSON.parse(json);

但这会逃避HTML,我不希望这样,我想将字符串输出为HTML。我该怎么做?我应该在PHP中以不同的方式指示标记,还是可以以某种方式解析保留HTML的Ajax?

1 个答案:

答案 0 :(得分:0)

json_encode会将数组转换为适当的JSON。我先把它变成数组,然后json_econde它。你的PHP应该是这样的:

function cleanText($string) {
    return '<p>' . trim(preg_replace('/\n+/', '</p><p>', $string)) . '</p>';
}

$str = cleanText("My string");
echo json_encode(array("content" => $str));

一旦你这样做,JS就可以使用JSON.parse(data),结果是这样的:

Object {content: "<p>My string</p>"}