【发布时间】:2011-12-14 06:23:13
【问题描述】:
我有一个包含数百行数据的文本文件 - 每行都由换行符分隔。
data.txt:
......Tue Dec 13 [alphanumeric1.alphanumeric1] : blah [alphanumeric1] ? blahblah [alphanumeric1] : blah
..Tue Dec 13 [alphanumeric2.alphanumeric2] : blah [alphanumeric2] ? blahblah [alphanumeric2] : blah
..................Tue Dec 13 [alphanumeric3.alphanumeric3] : blah [alphanumeric3] ? blahblah [alphanumeric3] : blah
每一行长度不一且唯一,但每一行都有三组[],里面的数据就是我想要的。
目标是逐行读取 data.txt,将 [ ] 中的数据吸出,将每个数据放入 csv 中自己的列中。
result.csv:
col1 col2 col3
alphanumeric1.alphanumeric1 alphanumeric1 alphanumeric1
alphanumeric1.alphanumeric2 alphanumeric2 alphanumeric2
alphanumeric1.alphanumeric3 alphanumeric3 alphanumeric3
So thats:
alphanumeric1.alphanumeric1,alphanumeric1,alphanumeric1
alphanumeric1.alphanumeric2,alphanumeric2,alphanumeric2
alphanumeric1.alphanumeric3,alphanumeric3,alphanumeric3
我的文本文件可以正常打开:
$fh = fopen('data.txt','r');
while ($line = fgets($fh)) {
echo $line;
}
但我在使用 preg_match 并将 [ ] 数据导入 csv 时遇到问题。
preg_match('/\[(.+)\]/', $line, $matches);
任何有关 preg_match 并将数据推送到 .csv 的帮助将不胜感激。
【问题讨论】:
标签: php preg-match