2012-02-10 62 views
1

我试图符合标签分隔的文件来分析各个值打破,像这样:PHP解析打破

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”。

如何根据换行符和制表符解析出值?

回答

4

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

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

这是['preg_split'(http://php.net/manual/en/function.preg-split.php)是...我想我会主张过爆炸是因为如果你正在处理像\ r \ n这样的混合换行符? – rdlowrey 2012-02-10 19:13:59