Sea*_*Wuf 2 php format heredoc
使用以下代码,我希望看到显示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
?>
Run Code Online (Sandbox Code Playgroud)
结果:这是标题这是第一行.这是第二个. - 由Alfred E Newman撰写.
如果您要输出到HTML,请尝试将print调用包装在<pre>标签中.显示HTML时,浏览器不会关注操作系统换行符.但是,如果你查看页面的源代码,你会看到输出格式符合预期.
如果你想显示在您的HTML新行,你将不得不使用<br/>或<p>或适当的CSS样式机制.
UPDATE
哦,我忘了!正如警惕的@MarkBaker(感谢)所提到的,PHP的nl2brdocs函数将通过用<br/>标签替换换行符来处理这样的操作:
$output = nl2br($output);
print $output;
Run Code Online (Sandbox Code Playgroud)