这个问题纯粹是为了整理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>
同样,这纯粹是一个整容问题,与错误呈现页面无关。我希望源代码是好的和可读的,并且我可以在最后添加第一个回答“\ n”字符,但这并不令人满意,也会令人讨厌。对这个问题有什么补救措施,或者我只是做错了什么?
答案 0 :(得分:3)
这是PHP的长期问题。基本上,如果你的close标签后面有一个换行符,那么PHP就会吃它。但是如果在关闭标记之后有一些其他字符(即使是空格),那么在它之后的任何换行符都会受到尊重。
E.g。
<?php echo "Hello"; ?>\nWorld
产生
HelloWorld
和
<?php echo "Hello"; ?>\n\nWorld
产生
Hello⏎
World
然而,
<?php echo "Hello"; ?> \nWorld
产生
Hello ⏎
World
因此,解决方法是要么记住在每个块的输出末尾添加换行符,要么在关闭标记和后面的换行符之间插入一个空格。
答案 1 :(得分:0)
尝试让它强制换行:
<div>
<?php echo "This is some extra text." ?>
</div>
答案 2 :(得分:0)
\n
字符对您来说是不可见的,但是当您添加额外的文本后,您将返回/输入。
如果您希望添加的文本包含换行符,请执行以下操作:
<?php echo "This is some extra text.\n" ?>