【发布时间】:2017-08-07 15:22:26
【问题描述】:
我有一个包含这些内容的文本文件
00:00:00:23 You
00:00:01:04 would
00:00:01:10 not
00:00:01:20 believe
00:00:02:07 your
00:00:02:16 eyes
00:00:03:08 -
00:00:03:16 if
00:00:03:20 ten
00:00:04:01 million
00:00:04:13 fireflies
00:00:06:00 -
00:00:06:08 lit
00:00:06:17 up
00:00:07:01 the
00:00:07:04 world
00:00:07:13 as
注意每个时间戳之间是如何换行的。如果我执行 file_get_contents 并打印它,它将完全按照需要在浏览器中显示新行。但是,我想将每个新行作为一个单独的数组元素。当我使用file()时,只返回一个包含整个txt文件的元素,即使我写了
ini_set("auto_detect_line_endings", true);
在脚本的开头,大部分行都放在数组中,但有些不是。如果我尝试使用“\n”分隔符进行分解,那根本行不通。
【问题讨论】:
-
是windows文件吗?尝试在
\r\n上炸毁它 -
不,麦克。试过了还是不行
-
你知道吗,我只是将文本复制并粘贴到一些在线 html 转换器中并粘贴回来,它工作正常。没有解释为什么会发生这种情况。
-
您的文本中可能有隐藏字符会破坏内容。尝试类似
$text=iconv("UTF-8", "ISO-8859-1//IGNORE", $text);然后换行 -
打开一个终端并使用
od -c your_file_name.txt来查看您的文件中是否有任何奇怪的换行符变化——\n用于 unix,\r用于“经典”mac 或\r\n窗户。