fgetcsv() と囲み文字に問題があります。
次のような CSV 行があります。
"13551","Digitaldruck "Blüte x3" ","gelb-weiss"
私はそのように fgetcsv() を使用しています:
public function readCSVData($file, $delimiter, $contentDelimiter)
{
$fp = fopen($file, 'r');
$dataResult = array();
while ($data = fgetcsv($fp, WDC_CSV_MAX_LINES, $delimiter, $contentDelimiter))
{
foreach ($data as $key=>$element)
{
$data[$key] = iconv("UTF-8", "ISO-8859-1//IGNORE", $element);
}
$dataResult[] = $data;
}
fclose($fp);
return $dataResult;
}
私が期待しているのは次のとおりです。
[14] => Array
(
[0] => 13551
[1] => Digitaldruck "Blüte x3"
[2] => gelb-weiss
)
しかし、私が得ているものは私を少し狂わせます
[14] => Array
(
[0] => 13551
[1] => Digitaldruck Blüte x3""
[2] => gelb-weiss
)
コンテンツ内で囲み文字を使用できるようにコードを設定するにはどうすればよいですか?
編集1:
内部の引用は別の引用でエスケープする必要があることを保証する必要があります
すなわち:
"13551","Digitaldruck ""Blüte x3"" ","gelb-weiss"
正しい結果につながります。