プロが教えるわが家の防犯対策術!

111,"あいうえお",,"さしす,せそ"

のテキストファイルを

value[0] = 111
value[1] = あいうえお
value[2] =
value[3] = さしす,せそ

いう形に配列に入れたいと思っています。見てもらえばわかると思いますが、数字には「"」(ダブルクォーテーション)が付かなくて、「"」の中に入っている「,」(カンマ)は区切り記号とはみなされず値として取り込んでいます。

splitの正規表現など使えないか苦悩しています。いまだ解決方法見つけられず。
テキストファイルの「"」(ダブルクォーテーション)有り/無しや順番などは都度変更されます。

カンマ区切りで、「"」(ダブルクォーテーション)で囲まれた部分は外して値を取り出すにはどうしたらいいのでしょう?

ご存知の方、ご教授ください。

A 回答 (2件)

テキストファイルは別なのですよね?



<?PHP
$handle = fopen("test.csv", "r");
while (($value = fgetcsv($handle, 1000, ",")) !== FALSE) {
print_r($value);
}
fclose($handle);
?>
    • good
    • 0

私なら(正規表現方法が良くわかっていないので)まず、1文字目をチェックし


「"」なら次に「",」と出てくるまでの文字数を検索し、そこまでの文字を切り出す
そうでなければ普通に「,」までの文字を切り出す

という風に処理させるかと思います。
もっといい方法があるかもしれませんが。
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!