Multibyte-safe CSV Parser

I recently had to write a PHP CSV parser for a project, and found the built-in fgetcsv function fairly useless for real-world CSVs (where some fields are quoted and some aren’t for example, or where escaped delimiters or quotes are present inside the field text). This function should handle : Lines where some fields are quoted and some aren’t Lines where quoted fields have ‘escaped’ quotes inside them Lines where non-quoted fields have ‘escaped’ delimiters inside them Lines where the quote is ‘escaped’ by another quote (the default behaviour for Excel CSV exports) Lines containing multi-byte strings ...

August 9, 2007 · 2 min · Dave Perrett