我创建一个功能,可以接受的一串其是检索到通过 file_get_contents() 在本地的文本文件,或牵强的东西从网址如 http://site.com/338383.txt.

该文件将是一个选项分开的文件,与每一项目文件正在它自己的线。这是更好的使用 \n\rexplode() 串,并得到一系列的每个行吗?

我注意到,在某些情况下 \n 不会的工作。我想要一个一致的方式工作的所有时间。任何想法?

有帮助吗?

解决方案

您可以使用文件()得到的内容该文件作为与个别线阵列。

其他提示

作为 duckyflip 指出,可以使用 文件() 功能,以获得一系列的文件线。然而,如果仍然需要爆炸(一个未知的原因),则应当使用PHP恒 PHP_EOL 而不是' ',因为这是跨平台的兼容。

问题是,换行符是对于不同的“text / plain的”编码和平台不同的定义。快速和肮脏的解决方案可能会使用分裂和正则表达式为“\ r \ n | \ r | \ n”,但是,它可能打破一些Unicode文件,它有没有“背景”的感觉。即如果有其中LF(\ n)被用作EOL标记的文件,并且有一些的CR存在应该被保存中,CRS将被分割上为好。

可以使用使preg_split()爆炸通过/ \ n \ r | \ n | \ R /,然后 TRIM()每个项目,以确保没有尾随空白的剩余(如果它是合适的)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top