【发布时间】:2011-01-30 22:30:43
【问题描述】:
当一个回车符跟在一个结束 php 标记之后,php 不会打印它。
我该如何更改?
非常感谢
【问题讨论】:
当一个回车符跟在一个结束 php 标记之后,php 不会打印它。
我该如何更改?
非常感谢
【问题讨论】:
这是正常行为,无法更改:关闭 ?> 后的换行符总是被忽略。
这是 PHP 手册常见问题解答中的参考:Hey, what happened to my newlines?
(引用,强调我的)
<pre>
<?php echo "This should be the first line."; ?>
<?php echo "This should show up after the new line above."; ?>
</pre>
在 PHP 中,代码块的结尾 是“
?>”或“?>\n”(其中\n表示换行符)。
所以在这个例子中 上面,回显的句子将在 一行,因为 PHP 省略了 块结束后的换行符。
这个 意味着你需要插入一个额外的 每个 PHP 代码块后的换行符 使其打印出一个换行符。
为什么 PHP 会这样做?
因为 格式化普通 HTML 时,这 通常会让你的生活更轻松,因为 你不想要那个换行符,但你会 必须创建极长的线条或 否则制作原始页面源 无法达到那种效果。
这里有一些有趣的读物:
【讨论】:
这是预期行为(请参阅Escaping from HTML):
[...] 当 PHP 碰到
?>结束标签时,它会简单地开始输出它找到的任何内容(除了紧随其后的换行符 - 参见 instruction separation )[...]
【讨论】:
这是语言的默认行为。
如果需要换行符,请将echo "\n" 或echo "<br>" 作为脚本的最后一行。
【讨论】: