我已经使用 explode 函数将 textarea 包含到基于行的数组中。当我在我的本地主机 (WAMPserver 2.1) 中运行此代码时,它与此代码完美配合:
$arr=explode("\r\n",$getdata);
当我上传到我的 linux 服务器时,我每次都需要将上面的代码更改为:
$arr=explode("\n",$getdata);
什么是我的永久解决方案。哪个通用代码适用于两个服务器?
谢谢
最佳答案
常量 PHP_EOL 包含平台相关的换行符,所以你可以试试这个:
$arr = explode(PHP_EOL, $getdata);
但更好的方法是规范化文本,因为您永远不知道访问者使用什么操作系统。这是一种规范化仅使用\n 作为换行符的方法(但也请参阅 Alex 的回答,因为他的正则表达式将处理所有类型的换行符):
$getdata = str_replace("\r\n", "\n", $getdata);
$arr = explode("\n", $getdata);
关于php - 在 windows 和 linux 服务器中 explode 错误\r\n 和\n,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5769589/