如何解决PHP_下线问题

如何解决PHP_下线问题,php,Php,常数: PHP_EOL 在windows和linux上都应该表示换行符,但是当我在linux机器上运行时,没有间隔(这导致生成现在有换行符而不是换行符的.txt文件非常麻烦) 有没有快速解决这个问题的方法 编辑 通常的答案似乎是,在Linux机器上创建的任何东西都不会在记事本中正确“显示”。在记事本本身的后端是否有任何方法可以纠正这一点(按说法查找并替换,并替换为实际中断?不要将PHP\u EOL用于文本文件输出 IIRC最好使用“\r\n”以获得最佳兼容性 如果需要,您可以定义或$var它。一

常数:

PHP_EOL

在windows和linux上都应该表示换行符,但是当我在linux机器上运行时,没有间隔(这导致生成现在有换行符而不是换行符的.txt文件非常麻烦)

有没有快速解决这个问题的方法

编辑
通常的答案似乎是,在Linux机器上创建的任何东西都不会在记事本中正确“显示”。在记事本本身的后端是否有任何方法可以纠正这一点(按说法查找并替换,并替换为实际中断?

不要将
PHP\u EOL
用于文本文件输出

IIRC最好使用
“\r\n”
以获得最佳兼容性

如果需要,您可以
定义
$var
它。

一些“修复”:

  • 在换行符中使用
    \r\n
    ,使Windows满意

  • 不要使用记事本

  • PHP\u EOL
    仅代表它所运行的系统中的某些内容。它不可能同时表示每个操作系统使用的每个EOL序列。

    使用
    nl2br()
    函数:

    echo nl2br("your first line\n your second line"); 
    

    konforce-不需要在windows上使用\r\n,因为上面的操作很好(在这里当然可以查找和替换,但根据我的知识,这应该可以工作),如果您使用
    PHP\u EOL
    在windows上创建文件,它在记事本中看起来会很好。如果您在Linux上使用
    PHP\u EOL
    创建相同的文件,它将无法在记事本上工作。在什么情况下你会遇到问题?@konforce-感谢记事本上的建议,在word甚至写字板中查看会产生所需的结果。换行符(不在记事本中显示)是否真的会成为一个问题?注意:即使在回显到屏幕输出(html)时,PHP_EOL不应该在屏幕上的文本中创建一个换行符吗?@JM4,记事本只知道“\r\n”。所以,唯一的解决办法就是不使用记事本或使用它想要的东西。Linux程序通常更智能,并且知道如何解析“\r\n”,即使它们实际上只需要“\n”。最好的解决方案取决于这些文件是为谁使用的,等等。
    PHP_EOL
    不会在HTML中创建中断(只有BR或类似的标记会创建中断),并且如果您“查看源代码”,如果选择记事本作为编辑器,您也会遇到同样的问题。很好的建议-使用konforce,注意到它确实有效,只是不使用记事本。