找到我的Json代码。
$result = {
"text_1":
[
{
"text": "Name \nKarSho",
"left": 0,
"right": 0
}
]
}
我想在PHP中使用这个Json的“text”。我使用了以下脚本,
$json = json_decode($result,true);
if($json && isset($json['text_1']))
{
$textblock =$json['text_1'][0];
echo $textblock['text'];
}
它正在给予,
姓名KarSho
但我想,
姓名\ nKarSho
怎么办?
答案 0 :(得分:4)
嗯,对于你的表现,它会给你Name \nKarSho
作为输出,但是当你在HTML(在任何浏览器中)渲染时,你将看不到新的行,因为有多个空格和新的浏览器会忽略这些行,如果你去查看浏览器的来源,你会在那里看到一个新行,
如果您希望HTML显示新行,请使用
echo nl2br($textblock['text']);
这样您的新行就会转换为<br>
标记,您将在HTML输出中看到它。
编辑:
如果你想在输出中看到\n
(按原样),你只需要
echo json_encode($textblock['text']);
并删除引号,
echo trim(json_encode($textblock['text']), '"');
答案 1 :(得分:1)
OP
不想要换行,他也希望打印\n
。
您可以转义\n
,例如:
$name = "John \n Will";
echo str_replace("\n", "\\n", $name);
将输出:
John \n Will
答案 2 :(得分: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'];
}
?>
使用标题功能显示下一行