私はphpのSOAP呼び出しからCSVデータを取得します。残念ながら、データにカンマが含まれている可能性があります。それは、私はPHPやJavaScriptのいずれかで個々の値にそれを解析する必要があります...、CSVでカンマを扱う
を、
1のように正しくフォーマット名、2、ラリアット、3、 "最初、最後の"、5、NMEAされます。私はスタックオーバーフローや他の場所でスレッドを参照しているが、PHP/javascriptで特定の解決策が見つかりませんでした。
私が現在使用しているアプローチは
* *はdeliminatorですが、preg_replace
が余分に発生
$subject = '123,name,456,lryyrt,123213,"first,last",8585,namea3';
$pattern = '/,|,"/';
$t2=preg_replace ('/,|(".*")/','$0*',$subject);
$t2=str_replace(',','*',$t2);
$t2=str_replace('*',',',$t2);
です。私はpreg_match
とその他のpreg_
関数を含むいくつかのアプローチを試みましたが、何らかのクリーンな分割を行うことに成功しませんでした。
コンマが含まれているCSVデータを分割する方法についてのご意見はありますか?
str_getcsvは、PHP 5.3以降では使用できません。その前にfgetcsvが使われました。ファイルやその他のストリームから直接コンテンツを取得していない場合は、そのストリームをストリーム(php://メモリ、書き込み後に位置リセット)またはファイルに強制しなければならない場合があります。 – Zimzat