18

出于某种奇怪的原因,插入echo "\n";和其他转义序列字符对我不起作用,这就是为什么我只是使用它<br />

书籍和其他文档中示例结果的图像似乎还不错。我目前正在使用 XAMPP,并且已经使用了具有相同实际结果的 WAMPP。这是为什么?

编辑:

在将您的答案与以下内容进行比较后,我似乎无法理解这个概念: PHP Linefeeds (\n) Not Working

编辑:

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

4

7 回答 7

42

当您在浏览器中运行 PHP 脚本时,默认情况下它将呈现为 HTML。如果您使用的书籍以其他方式显示,则代码或插图不准确。您可以使用“查看源代码”查看发送到浏览器的内容,您会看到您的换行符出现了。

<?php
echo "Line 1\nLine 2";
?>

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

Line 1 Line 2

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

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

这将输出:

Line 1
Line 2

PHP Linefeeds (\n) Not Working是指将输出发送到文件而不是浏览器。

于 2012-09-13T16:49:05.370 回答
6

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

于 2012-09-13T16:26:07.007 回答
5

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

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

<p>This
is
a
test </p>

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

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

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

于 2012-09-13T16:40:35.707 回答
2

<br />是换行的 HTML 标签,而 "\n" 是输出一个新行(真实的)。

每次 HTML 文件转到下一行时,浏览器都不会输出新行。

于 2012-09-13T16:25:59.923 回答
1

您可以使用nl2br函数转换\n<br>

如前所述,HTML 不会呈现\n为新行。它只识别<br>html 标签

于 2012-09-13T16:27:17.417 回答
1

如果您正在使用 HTML(例如在浏览器中查看结果),则必须使用 HTML 换行方式,即:<br>

于 2017-05-05T08:19:51.737 回答
0

/n仅当它用作简单文本时才有效,但在这里,当我们在 html 文档中编码时,它会将其作为 HTML 文本,因此您可以改用</br>标签。

于 2020-01-23T07:18:19.323 回答