在php echo string中使用end of line

Ism*_*ael 19 php

我试着编写一个回显字符串的php脚本,它不识别那里的行尾函数.

例如

echo "thank you \n "
echo "for coming over"
Run Code Online (Sandbox Code Playgroud)

echo 被忽略,它打印整个行\n.

得到以下相同的结果:

echo "thank you " . PHP_EOL.;
echo "for coming over" . PHP_EOL.;
Run Code Online (Sandbox Code Playgroud)

hak*_*kre 23

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

使用预格式化文本

echo '<pre>'; // pre-formatted text, \n should work
echo "thank you \n ";
echo "for coming over";
echo '</pre>';
Run Code Online (Sandbox Code Playgroud)

更改内容类型

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

您现在可以将浏览器正确读取为文本.

使用HTML break元素

echo "thank you <br>\n ";
echo "for coming over";
Run Code Online (Sandbox Code Playgroud)

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

  • 与*使用预格式文本*,[`white-space`](https://developer.mozilla.org/en-US/docs/Web/CSS/white-space)相关也可以使用css属性. (2认同)

Tim*_*per 17

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


小智 5

试试这个通常可以使用

 echo "thank you <br>";
 echo "for coming over<br>";
Run Code Online (Sandbox Code Playgroud)

并在处理文件时

echo "thank you ".PHP_EOL."";
echo "for coming over".PHP_EOL."";
Run Code Online (Sandbox Code Playgroud)