我使用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]结尾。
提前致谢,
斯蒂娜
答案 0 :(得分:1)
Newlines在呈现的HTML中没有任何意义。要转到下一行,请使用<br>
或<br />
,因此请使用:
echo nl2br($comment);
或者在没有新行的情况下:
echo "$comment<br />";
答案 1 :(得分:1)
您可以先捕获变量中的内容,然后运行:
$nolines = str_replace(array("\n", "\r"),'<br>', $var);