如何使用内联 html 解析 json


How to parse json with inline html?

我在两个系统之间传递数据。在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?

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>"}