note 50186 added to function.fgetcsv

From: Date: Mon, 21 Feb 2005 12:57:44 +0000
Subject: note 50186 added to function.fgetcsv
Groups: php.notes 
Request: Send a blank email to php-notes+get-85307@lists.php.net to get a copy of this message
for excel-csv-sheets like: test1;test2;test3;test4;"test5 test5b test5c";test6 (optionally enclosed by " including line-breaks) .. i wrote a little function to solve this problem. <?php function CSV2Array($content, $delim = ';', $encl = '"', $optional = 1) { $reg = '/(('.$encl.')'.($optional?'?(?(2)':'('). '[^'.$encl.']*'.$encl.'|[^'. $delim.'\r\n]*))('.$delim.'|\r\n)/smi'; preg_match_all($reg, $content, $treffer); $linecount = 0; for ($i = 0; $i<=count($treffer[3]);$i++) { $liste[$linecount][] = $treffer[1][$i]; if ($treffer[3][$i] != $delim) $linecount++; } return $liste; } // usage for example: $content = join('',file('test.csv')); $liste = CSV2Array($content); print_r($liste); ?> ---- Manual Page -- http://www.php.net/manual/en/function.fgetcsv.php Edit -- http://master.php.net/manage/user-notes.php?action=edit+50186 Delete: added to the manual -- http://master.php.net/manage/user-notes.php?action=delete+50186&report=yes&reason=added+to+the+manual Delete: bad code -- http://master.php.net/manage/user-notes.php?action=delete+50186&report=yes&reason=bad+code Delete: spam -- http://master.php.net/manage/user-notes.php?action=delete+50186&report=yes&reason=spam Delete: useless -- http://master.php.net/manage/user-notes.php?action=delete+50186&report=yes&reason=useless Delete: other reasons -- http://master.php.net/manage/user-notes.php?action=delete+50186&report=yes Reject -- http://master.php.net/manage/user-notes.php?action=reject+50186&report=yes Search -- http://master.php.net/manage/user-notes.php

« previous php.notes (#85307) next »