0
コンマ区切りの値を含む文字列を配列に分割したいと思います。 str_getcsv
は良い選択肢ですが、値の先頭と末尾にあるエンクロージャー文字("
)を削除します。私はエンクロージャの文字を保持したいと思います。文字列$str = 'foo,"bar","qwe,rty"'
を考えてみましょう。 str_getcsv($str)
戻りエンクロージャー文字を削除しないstr_getcsv
['foo', 'bar', 'qwe,rty']
私が持っていると思います
['foo', '"bar"', '"qwe,rty"']
私はこれをどのように達成することができますか?
あなたが値 'おそらくCSVで、その後、あなたは「「バー」」'に適切に終端文字をエスケープする必要がある「バー」 ''(または 'を「表現したい場合は\ "bar \" "、どのCSV方言を使っているかによって異なります)。あなたが見ているのは、CSVパーサーの正しい動作です。 '...、bar"、...はCSVで '...、bar、...'を意味します。 – deceze
ありがとう@deceze。実際、私はCSVで作業していません。カンマで区切った値の文字列を分割したいだけで、 'str_getcsv'は良い解決策のようです。 –
これは、既存の標準化されたフォーマットでない場合には、おそらく独自のパーサーを作成する必要があります。 – deceze