在PHP echo字符串中使用行尾


Using end of line in PHP echo string

我正试图编写一个PHP脚本,echo是一个字符串,但它无法识别其中的行尾函数。

例如,

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.;

有不同的方法来解决这个问题:

使用预先格式化的文本

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 break元素

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

所以输出总是取决于你想要输出什么。它是文本吗?它是HTML吗?它是HTML中的一些文本吗?根据您的需要,您应该注意格式和格式。

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

试试这个通常你可以使用

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

以及在文件处理时

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

如果您想在html中打印包含eol的文本,请给nl2br一个

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

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

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