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)をより小さな文字列(トークン)に分割します。各トークンは、トークンの任意の文字で区切られます。つまり、「これはサンプル文字列です」のような文字列がある場合、スペース文字をトークンとして使用して、この文字列を個々の単語にトークン化できます。

于 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 に答える