PHP换行符无法正常工作。

4

我想在浏览器中打印一个换行符,但是在echo语句中使用'\n'没有任何作用。这段代码有什么问题?

$n = 5;
for($i= 0; $i<=$n; $i++)
{
for($j=0; $j <= $n-$i-1; $j++)
echo "&nbsp;";
for( ; $j <= $n; $j++)
echo '* ';
echo "\n";
}

只需输入 echo '<br/>'; - splash58
1
我用这个作为替代方案,但我想知道为什么它不起作用。 - Sanjay Goswami
查看HTML页面的源代码,你会看到你的:)它们在HTML中是空格。 - splash58
以这种方式工作 <?php echo nl2br("一行。\n另一行。"); ?> - Mudassar Saiyed
2个回答

3

PHP中的"echo"命令会将输出作为原始HTML发送到浏览器,因此即使在双引号中,浏览器也不会将其解析为两行,因为HTML中的换行符是没有意义的。这就是为什么您需要使用以下方法之一:

echo [output text]."<br>";
when using "echo", or instead use fwrite...

fwrite([output text]."\n");
This will output HTML newline in place of "\n".

3

实际上,它是有效的,如果您查看HTML源代码,您将找到它,而HTML需要使用<br>代替换行符。如果您想将换行符转换为<br>,您可以使用PHP函数nl2br

echo nl2br($stingHasNewLineChar);

感谢您的原因。 - Sanjay Goswami

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接