使用PHP echo进行不一致的换行渲染

时间:2017-12-29 19:43:20

标签: php

考虑以下PHP代码:

<?php
echo "prefix";
echo "
{{ foo }}
"; 
echo "suffix";

它呈现为:

prefix
{{ foo }}
suffix

从这里可以看出:

http://sandbox.onlinephpfunctions.com/code/4c0b3a3e921b0a761b1cf05f12f709d025d1b2de

请注意prefix{{ foo }}之间的换行符。

现在考虑以下代码:

<?php
echo "
{{ foo }}
"; 
echo "suffix";

它呈现为:

{{ foo }}
suffix

从这里可以看出:

http://sandbox.onlinephpfunctions.com/code/18b07b9d05b79703617364b4d301d6799654a086

为什么第一个换行符在第二个案例中没有呈现,而它在第一个换行符中?

1 个答案:

答案 0 :(得分:0)

这似乎是因为 Web浏览器(或为您运行PHP的网站)正在从呈现的HTML输出中删除额外的空格。 (见:https://stackoverflow.com/a/17784740

如果您在PHP命令行上运行代码,那么您将看到所需的主要换行符。

如果要在HTML页面中使用此代码,请使用<br/>标记创建新行。