PHP解析选项卡和换行符

时间:2012-02-10 19:02:48

标签: php regex parsing tsv

我正在尝试使用换行符分隔选项卡分隔文件中的单个值:

00601   166659789   799296  64.348  0.309   -66.749961  18.180555
00602   79288158    4446273 30.613  1.717   -67.17613   18.362268

我正在使用以下方法解析它:

$delimiter = "\t";
$splitcontents = explode($delimiter, $contentsOfFile);
foreach ( $splitcontents as $value )
{
   echo $value;
}

但是,当出现新行时,将合并上一行的最后一个值和新行的第一个值。因此,当for循环到达第一行的末尾时,最后一个值实际上是“18.180555 00602”。

如何根据换行符和标签解析值?

2 个答案:

答案 0 :(得分:6)

看起来你只是想解析制表符分隔的文件。使用fgetcsv并将分隔符指定为选项卡。

http://us3.php.net/manual/en/function.fgetcsv.php

答案 1 :(得分:4)

首先根据换行符进行爆炸,然后使用选项卡展开每一行。

$delimiter = "\n";
$splitcontents = explode($delimiter, $contentsOfFile);
foreach ( $splitcontents as $line )
{
    $bits = explode("\t", $line);
    var_dump($bits);
}