出于某种奇怪的原因,插入
echo "\n";
和其他 scape 序列字符对我不起作用,这就是为什么我只使用 <br />
来代替。
书籍和其他文档中示例结果的图像似乎还不错。我目前正在使用 XAMPP,并且已经使用 WAMPP 获得相同的实际结果。这是为什么?
编辑:
与您的答案进行比较后,我似乎无法理解这个概念: PHP 换行符 ( )不工作
编辑:
抱歉,我没有意识到上面的链接是指写入文件的 php 代码。我只是想知道为什么我有这些使用的几个 php 示例程序 即使它输出在网页中。谢谢大家。
当您在浏览器中运行 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 换行符 ( ) 不工作 是指将输出发送到文件 而不是浏览器。
echo "\n"
可能正在工作,只是不是按照您期望的方式工作。
该命令将插入一个新行字符。从声音来看,您正在使用浏览器来查看输出。请注意,如果您编写的 HTML 文件的正文内容如下所示:
<p>This
is
a
test </p>
浏览器渲染不会包含新行,而只会显示“这是一个测试”
如果你想看到换行符,你可以查看源代码,你会看到源代码包含换行符。
经验法则是,如果您需要在浏览器中换行,则需要使用 HTML(例如
<br />
),而如果您想要纯文本格式,则可以使用 \n
<br />
是新行的 HTML 标签,而
”
" 是输出一个新行(真正的)。
每次 HTML 文件转到下一行时,浏览器不会输出新行。
如果您正在使用 HTML(例如在浏览器中查看结果),则必须使用 HTML 换行方式,即:
<br>
/n
仅在用作简单文本时才有效,但这里当我们在 html 文档中编码时,它将其视为 HTML 文本,因此您可以使用 </br>
标签代替。
浏览器上的 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>
标签中。
nl2br() 函数和
html 标签之间的区别在于格式文本结果。 为了保持相同的页面文本格式,我建议您 nl2br(),而不需要关心页面的所有其余部分。解决方案是 echo nl2br 或 =>