在php echo string中使用end of line

时间:2011-06-29 11:34:51

标签: php

我正在尝试编写一个回显字符串的php脚本,它不能识别那里的行尾函数。

e.g

echo "thank you \n "
echo "for coming over"

\n被忽略,它将整行打印为thank you for coming over

对于以下内容得到了相同的结果:

echo "thank you ".PHP_EOL.;
echo "for coming over".PHP_EOL.;

5 个答案:

答案 0 :(得分:23)

有不同的解决方法:

使用预格式化文本

echo '<pre>'; // pre-formatted text, \n should work
echo "thank you \n ";
echo "for coming over";
echo '</pre>';

更改内容类型

header('Content-Type: text/plain');
echo "thank you \n ";
echo "for coming over";

您的浏览器现在可以正确地将输出读取为文本。

使用HTML中断元素

echo "thank you <br>\n ";
echo "for coming over";

因此输出总是取决于您想要输出的内容。是文字吗?是HTML吗?它是HTML中的一些文本吗?根据您的需要,您应该注意格式和格式。

答案 1 :(得分:17)

如果您在浏览器中执行此操作,请将\n替换为<br />。文件换行符不会在HTML页面中呈现,除非通过CSS指定或者它们包含在某些标记中。您也可以选择将文件类型更改为text/plain,但我认为不希望这样。

答案 2 :(得分:5)

试试这个 通常你可以使用

 echo "thank you <br>";
 echo "for coming over<br>";

并在文件处理时

echo "thank you ".PHP_EOL."";
echo "for coming over".PHP_EOL."";

答案 3 :(得分:2)

如果您想在html中打印包含eol的文字,请{i} {} {/ p>

$str = "thank you \n ";
$str .= "for coming over";
nl2br($str);

它将在所有eols之前添加HTML换行符。

答案 4 :(得分:0)

从浏览器检查网页的来源,会有一个新行。由于在HTML中,忽略了换行符,制表符或空格等空格,因此您无法在浏览器中看到它们。您需要使用<br />&nbsp;等来打印您想要的内容。