2012-10-13 65 views
1

我需要从txt文件中提取以下数据(显示在链接中),然后保存mysql上指定的每个字段,我的问题是如何获取包含在因为它的一排由空格PHP读取txt数据文件并将数据传递给数组

我尝试, array = explode(' ', $line);但是该方法分离的节省空间

我想PU它到一个数组,

Array=(
[0] => '1', 
[ 1] => 'OC1', 
[2] => 'Columna', 
[3] => '1', 
[4] => 'IN45X104', 
[5] => '11745' 
.... 
); 

enter image description here

+0

http://codepad.org/fJqNaW3H 你的代码应该可以正常使用'爆炸( )' –

+0

如果有多个空格,请使用'preg_split('/ \ s + /')'http://codepad.org/3bnegwBC –

回答

1
$string = preg_replace("/\s[\s]+/",",",$string); 
$array = explode(",",$string); 

preg_replace只是工作一样str_replace,但允许您使用正则表达式匹配/\s[\s]+/多个空格,然后所有的空格单","所以它很容易取代现在爆炸更换。

功能来源:http://in3.php.net/manual/en/function.preg-replace.php

+0

仅限代码或链接的答案不鼓励,您应该添加一些解释性文本t你的答案。 – slugster

+0

好吧等一下我会加 –

+0

unset($ array [count($ array)-1]); –

0

尝试此,

$tok = strtok($string, " \n\t\x0B\0"); 
while ($tok !== false) 
{ 
echo "Word=$tok<br />"; 
$tok = strtok(" \n\t\x0B\0"); 
} 

的strtok()分割的字符串(STR)成更小的字符串(令牌),与 每个令牌从令牌的任何字符被分隔。也就是说,如果 有一个类似“这是一个示例字符串”的字符串,则可以使用空格字符 将该字符串标记为 这个字符串为其单个字词。

0

使用使preg_split(),以适应复杂的分隔符

http://codepad.org/fhsTWsZc

<?php 

$line="test test2 test3"; 
$array=preg_split('/\s+/',$line); 
print_r($array); 
相关问题