我正试图编写一个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 />
或
等来打印您想要的内容。