新行(“ ") 在 PHP 中不起作用

问题描述 投票:0回答:10

出于某种奇怪的原因,插入

echo "\n";
和其他 scape 序列字符对我不起作用,这就是为什么我只使用
<br />
来代替。

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

编辑:

与您的答案进行比较后,我似乎无法理解这个概念: PHP 换行符 ( )不工作

编辑:

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

php xampp
10个回答
50
投票

当您在浏览器中运行 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 换行符 ( ) 不工作 是指将输出发送到文件 而不是浏览器。


7
投票

您应该寻找

nl2br()
。这将为您的输出添加换行符 (
<br>
),该输出将由浏览器呈现;换行符不是。


5
投票

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

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

<p>This
is
a
test </p>

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

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

经验法则是,如果您需要在浏览器中换行,则需要使用 HTML(例如

<br />
),而如果您想要纯文本格式,则可以使用
\n


2
投票

<br />
是新行的 HTML 标签,而 ” " 是输出一个新行(真正的)。

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


1
投票

您可以使用 nl2br 函数将

\n
转换为
<br>

如前所述,HTML 不会将

\n
呈现为新行。它只识别
<br>
html 标签


1
投票

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

<br>


0
投票

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


0
投票

浏览器上的 PHP 输出,浏览器仅以 HTML 呈现输出,任何其他输出格式将被浏览器忽略。

如果您希望浏览器保持标准输出格式不变,则应将输出包含在 HTML 的

<pre>
标记下。它保留格式:

echo "<pre>";
echo "This is first line\nThis is new line";
echo "</pre>";

这将呈现为

This is first line
This is new line

或者,您可以在标题中将内容类型指定为纯文本:

header('Content-type: text/plain');
echo "This is first line\nThis is new line";

这将告诉浏览器将输出呈现为纯文本。浏览器会自动将输出封装在

<pre>
标签中。


0
投票

nl2br() 函数和

 html 标签之间的区别在于格式文本结果。
为了保持相同的页面文本格式,我建议您 nl2br(),而不需要关心页面的所有其余部分。


-1
投票

解决方案是 echo nl2br 或 =>

© www.soinside.com 2019 - 2024. All rights reserved.