我需要从txt文件中提取以下数据(显示在链接中),然后保存mysql上指定的每个字段,我的问题是如何将每个字段包含在一行中,因为它用空格分隔
我试过了,
array = explode(' ', $line);
但该方法可以节省空间
我想把它变成一个数组,
Array=(
[0] => '1',
[ 1] => 'OC1',
[2] => 'Columna',
[3] => '1',
[4] => 'IN45X104',
[5] => '11745'
....
);
答案 0 :(得分:1)
$string = preg_replace("/\s[\s]+/",",",$string);
$array = explode(",",$string);
preg_replace
就像str_replace
一样工作,但允许您使用正则表达式替换/\s[\s]+/
匹配多个空格,然后将所有空格替换为单","
,以便现在容易爆炸。
答案 1 :(得分:0)
试试这个,
$tok = strtok($string, " \n\t\x0B\0");
while ($tok !== false)
{
echo "Word=$tok<br />";
$tok = strtok(" \n\t\x0B\0");
}
strtok()将字符串(str)拆分为更小的字符串(标记),用 每个令牌由令牌中的任何字符分隔。也就是说,如果 你有一个字符串,如“这是一个示例字符串”,你可以标记 通过使用空格字符将此字符串转换为单个单词 令牌。
答案 2 :(得分:0)
使用preg_split()匹配复杂的分隔符
<?php
$line="test test2 test3";
$array=preg_split('/\s+/',$line);
print_r($array);