0

我得到一个包含 json 数据的提要,然后由 php (json_decode) 解码并回显到我的 html 页面。

提要包含\n字符,但是当 PHP 将它们回显时,HTML 不会将它们识别为换行符或换行符,因此 HTML 文本只是作为一大块文本出现。


当json数据包含在其中时,有人可以提示我应该做什么来使php回显a或类似的东西\n吗?

例如,json 数据可能包含“FRIDAY THROUGH WEDNESDAY.\n\nMORE RAIN IS”,但在生成 HTML 时,它看起来就像“FRIDAY THROUGH WEDNESDAY.MORE RAIN IS”都在同一行。

谢谢!

4

3 回答 3

2

尝试:

echo nl2br($json_string);
于 2013-06-21T14:49:05.750 回答
1

您必须将您的 '\n' 替换为 HTML 中的等价物,即 br 标记。

您可以通过以下方式输出您的字符串:

echo str_replace("\n", "<br />", $yourString);
于 2013-06-21T14:46:22.780 回答
0

来自 php.net:

http://fr2.php.net/manual/fr/function.json-decode.php#112084

function json_decode_nice($json, $assoc = TRUE){
    $json = str_replace(array("\n","\r"),"\\n",$json);
    $json = preg_replace('/([{,]+)(\s*)([^"]+?)\s*:/','$1"$3":',$json);
    $json = preg_replace('/(,)\s*}$/','}',$json);
    return json_decode($json,$assoc);
}
于 2013-06-21T14:48:08.383 回答