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

时间:2012-09-13 16:24:13

标签: php xampp

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

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

修改

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

编辑:

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

7 个答案:

答案 0 :(得分:23)

在浏览器中运行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指的是将输出发送到文件而不是浏览器。

答案 1 :(得分:3)

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

答案 2 :(得分:3)

echo "\n"可能正在发挥作用,而不是你期望的那样。

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

<p>This
is
a
test </p>

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

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

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

答案 3 :(得分:2)

<br />是新行的HTML标记,而 “\ n”是输出一个新行(用于实际)。

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

答案 4 :(得分:1)

您可以使用nl2br功能将\n转换为<br>

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

答案 5 :(得分:0)

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

答案 6 :(得分:-1)

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