PHP中的新行("\n")不起作用

Arm*_*man 12 php xampp

由于一些奇怪的原因,插入echo "\n";和其他scape序列字符对我来说不起作用,这就是为什么我只是使用<br />而不是.

书籍和其他文献中的例子结果的图像似乎没问题.我目前正在使用XAMPP并且已经使用了与实际结果相同的WAMPP.这是为什么?

编辑:

在比较你的答案后,我似乎无法理解这个概念: PHP Linefeeds(\n)Not Working

编辑:

对不起,我没有意识到上面的链接指的是写入文件的PHP代码.我只是想知道为什么我有这几个使用\n的PHP示例程序,即使它在网页中输出.感谢大家.

Her*_*ert 26

在浏览器中运行PHP脚本时,默认情况下它将呈现为HTML.如果您正在使用的图书显示,则代码或插图不准确.您可以使用"查看来源"查看发送到浏览器的内容,并且您会看到您的换行符存在.

<?php
echo "Line 1\nLine 2";
?>
Run Code Online (Sandbox Code Playgroud)

这将在您的浏览器中呈现为:

Line 1 Line 2
Run Code Online (Sandbox Code Playgroud)

如果您需要将纯文本发送到浏览器,可以使用以下内容:

<?php
header('Content-type: text/plain');
echo "Line 1\nLine 2";
?>
Run Code Online (Sandbox Code Playgroud)

这将输出:

Line 1
Line 2
Run Code Online (Sandbox Code Playgroud)

PHP换行(\n)Not Working指的是将输出发送到文件而不是浏览器.


Boj*_*les 6

你应该寻找nl2br(). 这会将换行符 ( <br>)添加到将由浏览器呈现的输出;换行符不是。


ern*_*nie 5

echo "\n"可能正在工作,只是不是按照您期望的方式工作。

该命令将插入一个新行字符。从声音来看,您正在使用浏览器来查看输出。请注意,如果您编写的 HTML 文件的正文内容如下所示:

<p>This
is
a
test </p>
Run Code Online (Sandbox Code Playgroud)

浏览器渲染不会包含新行,而只会显示“这是一个测试”

如果您想查看换行符,可以查看源代码,您将看到源代码包含换行符。

经验法则是,如果您需要在浏览器中换行,则需要使用 HTML(例如<br />),而如果您想要纯文本形式,则可以使用\n