将JSON数组中的换行符转换为换行符:JSON_decode和nl2br

时间:2014-01-31 04:30:25

标签: php json nl2br

我无法使用以下数组替换回车符和换行符,并使用HTML中断<br />

JSON数组:

  

{ “水果”: “苹果”, “素食者”: “胡萝卜\ r \ nCelery \ r \ n \ r \ nCucumbers”}

我正在尝试这个并且没有运气:

  

$ html = json_decode(nl2br($ json),true);

换行符在HTML本身的源代码中可见但是我无法获取<br />代码来替换'换行符'。

我也尝试了这个建议,它也没有用:  Replacing \r\n (newline characters) after running json_encode

4 个答案:

答案 0 :(得分:1)

解码JSON后运行nl2br(),而不是JSON阵列源。

答案 1 :(得分:0)

也许你应该试试

$arJson = array( 'fruit' => 'apple', 
                 'veggies' => array( 'carrot', 'celery', 'cucumbers' ) );

header( 'Content-Type: application/json' );

print json_encode( $arJson );

返回JSON

然后使用jQuery或您喜欢的库(甚至是自定义构建库)向页面发送ajax请求。

$.ajax({

    url: 'frtsnvgs.php',
    dataType: 'JSON',
    success: function( oData ) {
        $.each( oData, function( key, value ) {
            document.write( key + ': ' + value + '<br>' );
        });
    }

});

答案 2 :(得分:0)

试试这段代码。这可能会对你有所帮助

$json = '{"Fruit":"Apple","Veggies":"Carrot\r\nCelery\r\n\r\nCucumbers"}';
$json = json_decode($json,true);
array_walk($json, function(&$val){$val = html_entity_decode(nl2br($val));});
echo "<pre>";
print_r($json);
echo "</pre>";
exit;

答案 3 :(得分:0)

使用

read

语法: mov rax, 3 ; read mov rbx, 0 ; from stdin mov rcx, buffer ; start of storage mov rdx, 0x01 ; the second operand was formerly 0x10 int 0x80

使用:$html = json_decode(nl2br($json,false),true); 可选。一个布尔值,指示是否使用与XHTML兼容的换行符:

nl2br(string,xhtml)-默认。插入xhtml

TRUE-插入<br />

使用FALSE会导致json错误。