这个问题纯粹是为了获得整洁的HTML代码输出。
在一个简单的PHP文件中,您可以使用标记来选择何时在文档中嵌入PHP。然而,当这个标记直接用于普通HTML元素之上时,分隔这两者的换行符显然会被删除或忽略。
在PHP 中观察以下代码
<div>
<?php echo "This is some extra text." ?>
</div>
输出如下
<div>
This is some extra text.</div>
然而,如果我直接在标签后面添加一些东西,
<div>
<?php echo "This is some extra text." ?> Now the newline is honored.
</div>
看来新的一行受到了尊重:
<div>
This is some extra text. Now the newline is honored.
</div>
同样,这纯粹是一个外观问题,与错误渲染页面无关。我希望源代码很好,可读性强,并且我可以在第一个echo中添加末尾的"\n"字符,但这感觉不满意,也会很烦人。这个问题有什么补救办法吗?还是我只是做错了什么?
这是PHP的一个长期问题。基本上,如果你的结束标记后面有一个换行符,PHP会吃掉它。但如果结束标记后面紧接着有其他字符(甚至是空格),那么它后面的任何换行符都会受到尊重。
例如
<?php echo "Hello"; ?>nWorld
生产:
HelloWorld
和
<?php echo "Hello"; ?>nnWorld
生产:
Hello⏎
World
然而,
<?php echo "Hello"; ?> nWorld
产生
Hello ⏎
World
因此,解决方法是记住在每个块的输出末尾添加一条换行符,或者在结束标记和后面的换行符之间插入一个空格
试着像这样强行换行:
<div>
<?php echo "This is some extra text." ?>
</div>
n
字符对您来说是不可见的,但当您在之后添加额外的文本时,您会点击return/enter。
如果您希望添加的文本具有换行符,只需执行以下操作:
<?php echo "This is some extra text.n" ?>