如何让PHP从XML文件中显示新行?

时间:2014-04-10 19:53:53

标签: php xml soap simplexml

我使用simplexml_load_file打开一个肥皂信封。当我到达身体的一个元素,其中包含带有新行的纯文本,并且我想要显示它时,它显示没有新行。

SOAP ENVELOPE提取:

[...]    
<Note>root@podio1:~# Aug 10 12:18:20 podio1 genunix: NOTICE: clcomm: Path podio1:nge1 - podio2:nge1 being drained
Aug 10 12:18:20 podio1 genunix: NOTICE: clcomm: Path podio1:e1000g1 - podio2:e1000g1 being drained
Aug 10 12:18:20 podio1 genunix: NOTICE: CMM: Node podio2 (nodeid = 2) is down.
Aug 10 12:18:20 podio1 genunix: NOTICE: CMM: Cluster members: podio1 podio3.
Aug 10 12:18:20 podio1 in.routed[925]: 8056 bytes of routing message left over
Aug 10 12:18:21 podio1 genunix: NOTICE: CMM: node reconfiguration #3 completed.</Note>
[...]

当我回复说明时:

[...]
$comment = $Note->Comment;
echo $comment;
[...]

这是我在PHP页面上得到的内容:

root@podio1:~# Aug 10 12:18:20 podio1 genunix: NOTICE: clcomm: Path podio1:nge1 - podio2:nge1 being drained Aug 10 12:18:20 podio1 genunix: NOTICE: clcomm: Path podio1:e1000g1 - podio2:e1000g1 being drained Aug 10 12:18:20 podio1 genunix: NOTICE: CMM: Node podio2 (nodeid = 2) is down. Aug 10 12:18:20 podio1 genunix: NOTICE: CMM: Cluster members: podio1 podio3. Aug 10 12:18:20 podio1 in.routed[925]: 8056 bytes of routing message left over Aug 10 12:18:21 podio1 genunix: NOTICE: CMM: node reconfiguration #3 completed.

有人知道我能做些什么才能显示新线? 每行以XML文件中的[CR] [LF]结尾。

提前致谢,

斯蒂娜

2 个答案:

答案 0 :(得分:1)

Newlines在呈现的HTML中没有任何意义。要转到下一行,请使用<br><br />,因此请使用:

echo nl2br($comment);

或者在没有新行的情况下:

echo "$comment<br />";

答案 1 :(得分:1)

您可以先捕获变量中的内容,然后运行:

$nolines = str_replace(array("\n", "\r"),'<br>', $var);