fgetcsv - 在封闭内容中使用封闭字符

时间:2013-01-16 10:23:24

标签: php fgetcsv

我遇到了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
    )

如何设置我的代码,我可以在内容中使用机箱字符?

EDIT1:

我需要保证,内部的报价必须用另一个报价来逃避

即:

"13551","Digitaldruck ""Blüte x3"" ","gelb-weiss"

将导致正确的结果。

0 个答案:

没有答案