Russian (CIS)
 
str_getcsv разбираем строку CSV в массив
03.03.2011 16:52

Иногда возникает необходимость распарсить CSV файл средствами PHP. Все очень просто, нам понадобится функция php str_getcsv.

Но что делать когда версия php не поддерживает функцию str_getcsv, а разобрать строку CSV в массив очень нужно.

Выход есть, сами напишем функцию и будем ею пользоваться.

 

if(!function_exists('str_getcsv')) {
    function str_getcsv($input, $delimiter = ",", $enclosure = '"', $escape = "\\") {
        $fp = fopen("php://memory", 'r+');
        fputs($fp, $input);
        rewind($fp);
        $data = fgetcsv($fp, null, $delimiter, $enclosure); // $escape добавлена в php 5.3.0 
        fclose($fp);
        return $data;
    }
}

иногда для правильного определения конца строки надо добавить в начале скрипта следующий код

ini_set("auto_detect_line_endings", true);
 
reload Загадки, Афоризмы

Легче всего создаются трудности

Посещаемость

Яндекс.Метрика