使用JSON在php数组中打印换行符

时间:2015-03-30 19:21:18

标签: php arrays json newline

我一直在研究如何在php数组中打印一个新行。当我回显数据时,它就像这样:

Data Criação do Registo - 2014-12-23Bloco Operatório - TrueTipo de Internamento - UrgenteTipo de Internamento Cirurgia - com cirurgiaGlasgow Hospital - 15 (O-4 V-5 M-6)

我希望它看起来像这样,但我似乎无法找到办法。

Data Criação do Registo - 2014-12-23
Bloco Operatório - True
Tipo de Internamento - Urgente
Tipo de Internamento Cirurgia - com cirurgia
Glasgow Hospital - 15 (O-4 V-5 M-6)

这是我的代码:

$query1 = "SELECT TO_CHAR(DATACRIACAO,'YYYY-MM-DD') AS DATACRIACAO, NPROCESSO, BLOCOOPERATORIO, TIPOINTERNAMENTO, TIPOINTERNAMENTOCIRURGIA, GLASGOW_HOSPITAL 
FROM PATIENT_TIMELINE_ADMISSAO WHERE NPROCESSO =629844";

$result1 = oci_parse($connect, $query1);
oci_execute($result1);

while($res1 = oci_fetch_array($result1)) {
 $infotimeline['description']= 'Data Criação do Registo - '.$res1['DATACRIACAO'].
 'Bloco Operatório - '.$res1['BLOCOOPERATORIO'].'Tipo de Internamento - '.$res1['TIPOINTERNAMENTO'].
 'Tipo de Internamento Cirurgia - '.$res1['TIPOINTERNAMENTOCIRURGIA'].
 'Glasgow Hospital - '.$res1['GLASGOW_HOSPITAL'];
}
$data = str_replace(array('[', ']','{','}'), '', htmlspecialchars(json_encode($infotimeline), ENT_NOQUOTES));
echo $data;

编辑:我还补充说这段代码在pptimeline.php文件中,我将其作为标题header('Content-Type: application/json');制作成为json文件。然后,该信息会打印在我的basic.php文件中,该文件位于<!DOCTYPE html>之上。

我也在添加完整代码,以防它有用 - pptimelinebasic.php

4 个答案:

答案 0 :(得分:0)

尝试下面的代码:

while($res1 = oci_fetch_array($result1)) {
    $infotimeline['description'] = 'Data Criação do Registo -          '.$res1['DATACRIACAO']. '<br/>'.
    'Bloco Operatório - '.$res1['BLOCOOPERATORIO'].'Tipo de Internamento -     '.$res1['TIPOINTERNAMENTO'].'<br/>'.
    'Tipo de Internamento Cirurgia - '.$res1['TIPOINTERNAMENTOCIRURGIA'].'<br/>'.
    'Glasgow Hospital - '.$res1['GLASGOW_HOSPITAL'];
}
$data = str_replace(array('[', ']','{','}'), '', htmlspecialchars(json_encode($infotimeline), ENT_NOQUOTES));
echo $data;

答案 1 :(得分:0)

要打印出的每一行之间的用户<br>:即。

'Data Criação do Registo - '.$res1['DATACRIACAO'].
 '<br>Bloco Operatório - '.$res1['BLOCOOPERATORIO'].'<br>Tipo de Internamento - '.$res1['TIPOINTERNAMENTO'].
 '<br>Tipo de Internamento Cirurgia - '.$res1['TIPOINTERNAMENTOCIRURGIA'].
 '<br>Glasgow Hospital - '.$res1['GLASGOW_HOSPITAL'];

答案 2 :(得分:0)

首先:您需要根据需要格式化字符串 - 只需插入换行符即可。 "\n"
第二:要在浏览器中显示所有内容,请使用nl2br,将所有换行符转换为<br/>标记。
您应该 之后转义html实体。

$query1 = "SELECT TO_CHAR(DATACRIACAO,'YYYY-MM-DD') AS DATACRIACAO, NPROCESSO, BLOCOOPERATORIO, TIPOINTERNAMENTO, TIPOINTERNAMENTOCIRURGIA, GLASGOW_HOSPITAL 
FROM PATIENT_TIMELINE_ADMISSAO WHERE NPROCESSO =629844";

$result1 = oci_parse($connect, $query1);
oci_execute($result1);

while($res1 = oci_fetch_array($result1)) {
 $infotimeline['description']= 
 'Data Criação do Registo - '.$res1['DATACRIACAO']."\n".
 'Bloco Operatório - '.$res1['BLOCOOPERATORIO']."\n".
'Tipo de Internamento - '.$res1['TIPOINTERNAMENTO']."\n".
 'Tipo de Internamento Ciru - '.$res1['TIPOINTERNAMENTOCIRURGIA']."\n".
 'Glasgow Hospital - '.$res1['GLASGOW_HOSPITAL'];
}
$data = str_replace(array('[', ']','{','}'), '', htmlspecialchars(json_encode($infotimeline), ENT_NOQUOTES));
$data = nl2br($data);
echo $data;

答案 3 :(得分:0)

如果有人遇到类似问题,我就是这样解决的。我重写了代码,并以某种方式打印出这样的新行。

$query1 = "SELECT TO_CHAR(DATACRIACAO,'YYYY-MM-DD') AS DATACRIACAO, NPROCESSO, BLOCOOPERATORIO, TIPOINTERNAMENTO, TIPOINTERNAMENTOCIRURGIA, GLASGOW_HOSPITAL 
FROM PATIENT_TIMELINE_ADMISSAO WHERE NPROCESSO =".$nprocesso."";

$result1 = oci_parse($connect, $query1);
oci_execute($result1);

while($infotimeline = oci_fetch_array($result1)) 
    {
        $timel[] = $infotimeline;
    }
foreach ($timel as $infotimeline){
$data =
'"id":"pptimeline"'.','.
'"title":"Pervasive Patient Timeline - Doente nº '.$infotimeline["NPROCESSO"].'"'.','.
'"description":"'.'<p>'.'Data Criação do Registo - '.$infotimeline["DATACRIACAO"].'</p>'.
'<p>'.'Bloco Operatório - '.$infotimeline['BLOCOOPERATORIO'].'</p>'.
'<p>'.'Tipo de Internamento Cirurgia - '.$infotimeline['TIPOINTERNAMENTOCIRURGIA'].'</p>'.
'<p>'.'Glasgow Hospital - '.$infotimeline['GLASGOW_HOSPITAL'].'</p>'.'"'.','.
'"focus_date":"2015-02-20"'.','.
'"initial_zoom":10'
;
}
echo $data;