PHP回显相当于记事本的CR LF

tro*_*roc 13 php encoding

我需要使用PHP导出一些数据,并为每行我添加一个\r\n.

当我打开我下载的导出数据文件时,我发现它\r\n在记事本中被解释为[LF].

但是我打开文件的应用程序并没有将[LF]读作新行.

现在如果我在记事本中执行[CR] [LF],应用程序可以将[CR] [LF]读作新行.

如何用PHP回显[CR] [LF]的等价物?

谢谢.

Mar*_*ker 26

这很简单:

echo "\r\n";
Run Code Online (Sandbox Code Playgroud)

(注意双引号)

  • @netcoder - 请注意我关于双引号的评论...... OP对此一无所知 (3认同)

Har*_*hof 7

echo PHP_EOL;

这样,它将始终显示对您所在的系统有效的正确换行/回车组合,因为并非所有操作系统都使用相同的换行符约定。(更多信息:PHP 全局常量。)

  • PHP_EOL 对于 __server__ 所在的系统有效,不一定对于随后打开文件的系统有效 (3认同)

tro*_*roc 3

问题已解决:字符串是在 POST 参数中传递的。删除\r。

你只需要做一个str_replace("\n", "\r\n", $...);.