Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Regular expression for parsing CSV in PHP

Tags:

regex

php

csv

I already managed to split the CSV file using this regex: "/,(?=(?:[^\"]\"[^\"]\")(?![^\"]\"))/"

But I ended up with an array of strings that contain the opening and ending double quotes. Now I need a regex that would strip those strings of the delimiter double quotes.

As far as I know the CSV format can encapsulate strings in double quotes, and all the double quotes that are already a part of the string are doubled. For example:

My "other" cat

becomes

"My ""other"" cat"

What I basically need is a regex that will replace all sequences of N doublequotes with a sequence of (N/2 - rounded down) double quotes.

Or is there a better way ? Thanks in advance.

like image 504
disc0dancer Avatar asked Jan 22 '09 19:01

disc0dancer


1 Answers

There is function for reading csv files: fgetcsv

like image 60
empi Avatar answered Oct 20 '22 06:10

empi