2015-06-26 5 views
1

Найдите мой код Json.json decode удалить новую строку

$result = { 
     "text_1": 
      [ 
       { 
        "text": "Name \nKarSho", 
        "left": 0, 
        "right": 0 
       } 
      ] 
    } 

Я хочу «текст» из этого Json в PHP. Я использовал следующий сценарий,

$json = json_decode($result,true); 
if($json && isset($json['text_1'])) 
{ 
    $textblock =$json['text_1'][0]; 
    echo $textblock['text']; 
} 

Это дает,

Имя KarSho

Но я хочу,

Name \ nKarSho

Что делать?

+0

вам нужно отобразить как этот Имя KarSho – Ramki

ответ

3

Ну, к вашему сюрпризу, он даст вам Name \nKarSho в качестве вывода, но когда вы визуализируете это в HTML (в любом браузере), вы не увидите новую строку, потому что игнорируются несколько пробелов и новых строк браузеры, если вы идете смотреть источник в браузере, вы увидите новую линию там,

Если вы хотите, чтобы ваш HTML, чтобы показать новую строку, используйте

echo nl2br($textblock['text']); 

Так что ваши новые линии будут преобразуется в тег <br>, и вы увидите это в своем HTML-выходе.


Edit:

Если вы хотите увидеть также \n в выходе (как есть), Вы просто хотите

echo json_encode($textblock['text']); 

и удалить кавычки,

echo trim(json_encode($textblock['text']), '"'); 
+0

Я указал в первой строке моего ответа , ОП уже получает то, что хочет. – Viral

+0

@ Мухаммет, вы правы с логикой, но для меня это достаточно. – KarSho

+0

'echo json_encode (" test \ n test ");' будет печатать 'test \/n test' – Muhammet

0
<?php 
header('Content-Type: text/plain'); 
$result = '{"text_1": [{"text": "Name \nKarSho", "left": 0,"right": 0}]}'; 
$json = json_decode($result,true); 
if($json && isset($json['text_1'])) 
{ 
    $textblock =$json['text_1'][0]; 
    echo $textblock['text']; 
} 

    ?> 

использовать функцию заголовка t o распечатать следующую строку

1

OP не хочет новую линию, он хочет распечатать \n.

Вы можете избежать \n, например:

$name = "John \n Will"; 

echo str_replace("\n", "\\n", $name); 

выведет:

John \n Will 
+0

ваш код также заменит существующий '\\ n' –