1

我需要从 txt 文件中提取以下数据(显示在链接中),然后保存在 mysql 上指定的每个字段,我的问题是如何获取一行中包含的每个字段,因为它用空格分隔

我试过了, array = explode(' ', $line); 但这种方法可以节省空间

我想把它放入一个数组中,

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

在此处输入图像描述

4

3 回答 3

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

于 2012-10-13T05:31:24.160 回答
0

试试这个,

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

strtok() 将字符串 (str) 拆分为更小的字符串 (tokens),每个 token 由 token 中的任何字符分隔。也就是说,如果您有一个类似“This is an example string”的字符串,您可以通过使用空格字符作为标记将此字符串标记为单独的单词。

于 2012-10-13T05:26:58.973 回答
0

使用 preg_split() 匹配复杂的分隔符

http://codepad.org/fhsTWsZc

<?php

$line="test test2  test3";
$array=preg_split('/\s+/',$line);
print_r($array);
于 2012-10-13T05:35:04.643 回答