echo "foo";
echo "\n";
echo "bar";
和“bar”未写在下面的行中。
我做错了什么?
哈维
答案 0 :(得分:42)
HTML中的换行符通过<br>
表示,而不是通过\n
表示。
在PHP中使用\n
在源代码中创建换行符,HTML源代码布局与HTML屏幕布局无关。
答案 1 :(得分:19)
如果要将新行字符插入纯文本流,则可以使用独立于操作系统的全局PHP_EOL
echo "foo";
echo PHP_EOL ;
echo "bar";
在HTML术语中,如果查看页面的源代码,您会在foo和bar之间看到换行符。
ergo,如果您输出say,一个选择框的值循环,并且您认为html源代码更“漂亮”或以后更容易阅读,那么它非常有用。 e.g。
foreach( $dogs as $dog )
echo "<option>$dog</option>" . PHP_EOL ;
答案 2 :(得分:17)
如果要编写纯文本,必须确保将内容类型设置为Content-Type: text/plain
。例如:
header('Content-Type: text/plain');
如果您正在处理HTML,则有两种选择。一种是使用<br>
(或<br />
用于XHTML)插入新行。另一种是将纯文本放在<pre>
元素中(在本例中“pre”代表预格式化)。
答案 3 :(得分:5)
PHP生成HTML。你可能想要:
echo "foo";
echo "<br />\n";
echo "bar";
答案 4 :(得分:4)
如果您的文字有换行符,请使用nl2br php函数:
<?php
$string = "foo"."\n"."bar";
echo nl2br($string);
?>
这应该在浏览器中看起来不错
答案 5 :(得分:3)
假设您在网络浏览器中查看输出,则至少有两个选项:
使用<pre>
语句
将您的\n
更改为HTML <br>
代码(<br/>
也可以)
答案 6 :(得分:2)
由于未提及,您还可以使用CSS空白属性
body{
white-space:pre-wrap;
}
告诉浏览器保留空格以便
<body>
<?php
echo "hello\nthere";
?>
</body>
会显示
hello
there
答案 7 :(得分:2)
我们可以使用\ n作为php中的新行。
<?php
echo"Fo\n";
echo"Pro";
?>
输出:
佛
临
答案 8 :(得分:1)
如果您检查页面的源代码,它将写在新行上。如果您希望它在浏览器中呈现时显示在新行上,则您将使用<br />
标记。
答案 9 :(得分:1)
答案 10 :(得分:1)
这个答案非常明显,我花了很长时间才弄明白:
echo "foo
bar";
我知道它看起来像是在包装。不是。我所做的就是在foo
和bar
之间的字符串中间点击 return 。它在HTML源代码中创建了一个新行,使您的PHP看起来很糟糕。这是在Linux / Apache。
答案 11 :(得分:0)
echo "foo<br />bar";
答案 12 :(得分:0)
我们可以使用两种类型
在php中应用\n
使用CSS
body {
white-space: pre-wrap;
}
告诉浏览器保留空格以便
<body>
<?php
echo "Fo\n Pro";
?>
</body>
结果:
佛
临
使用nl2br
nl2br
:在字符串中的所有换行符之前插入HTML换行符
<?php
echo nl2br("Fo.\nPro.");
?>
结果
佛。
亲。
答案 13 :(得分:0)
html元素的换行取决于它的white-space
样式属性。
在大多数元素中,默认white-space
是auto
,这意味着当文本到达元素宽度时的折线。
如果您想让文本以\n
开头,则必须为父元素指定样式:
white space: pre-line
,它将读取\n
并中断换行,或者
white-space: pre
,它也会读取\t
等。
注意:要将\n
写为换行符而不是字符串,必须使用双引号的字符串("\n"
)
如果您不想使用空格,则始终欢迎使用 HTML元素作为换行符,即<br/>
答案 14 :(得分:-1)
$a = 'John' ; <br/>
$b = 'Doe' ; <br/>
$c = $a.$b"<br/>";