使用以下代码我希望看到显示5条单独的行。相反,它将所有内容包装在一条线上......没有标签,没有前导空格,没有空行。不是我所期待的。
在查看其他代码之后,程序员插入了我尝试过的一系列代码(使用
代替)并获得了我正在寻找的一些结果。我期待太多了吗?我永远无法获得领先的空间和标签。这可能是一个设置问题吗?
<?php
$author = "Alfred E Newman";
$out = <<<_END
This is a Headline
This is the first line.
This is the second.
- Written by $author.
_END;
print $out;
// echo $out; // ... didn't format as expected either
?>
结果:这是标题这是第一行。这是第二个。 - 由Alfred E Newman撰写。
答案 0 :(得分:5)
如果您要输出到HTML,请尝试将print
调用包装在<pre>
标记中。显示HTML时,浏览器不会关注操作系统换行符。 但是,如果你查看页面的源代码,你会看到输出格式符合预期。
如果您希望在HTML中显示新行,则必须使用<br/>
或<p>
或适当的CSS样式机制。
<强>更新强>
哦,我忘了!正如警惕的@MarkBaker(感谢)所提到的,PHP的nl2br
docs函数将通过用<br/>
标记替换换行符来处理这样的操作:
$output = nl2br($output);
print $output;
答案 1 :(得分:4)
只需在脚本上添加header('Content-Type: text/plain;');
:
<?php
header('Content-Type: text/plain;');
$author = "Alfred E Newman";
...
这告诉浏览器它应该将输出显示为纯文本(而不是HTML)。