<?php
$array["\r\nNo quotation marks:\r\n"] = 'Column1|Column2|Column3|Column4';
$array["\r\nQuotation marks on every column:\r\n"] = '"Column1"|"Column2"|"Column3"|"Column4"';
$array["\r\nQuotation marks on first column only:\r\n"] = '"Column1"|Column2|Column3|Column4';
$array["\r\nQuotation marks on last column only:\r\n"] = 'Column1|Column2|Column3|"Column4"';
$array["\r\nQuotation marks around empty first column:\r\n"] = '""|Column2|Column3|Column4';
$array["\r\nQuotation marks around empty middle column:\r\n"] = 'Column1|""|Column3|Column4';
$array["\r\nQuotation marks around empty last column:\r\n"] = 'Column1|Column2|Column3|""';
$array["\r\nUnescaped quotation marks:\r\n"] = '"Column"1""|Column2|Column3|Column4';
$array["\r\nEscaped quotation marks:\r\n"] = '"Column\"1\""|Column2|Column3|Column4';
$delimiter = '\\|';
$enclosure = '"';
foreach($array as $id => $row){
echo $id;
echo $row."\r\n";
$row = preg_replace("/(?:(?<=^|{$delimiter}){$enclosure})|(?:{$enclosure}(?=$|{$delimiter}))/",'',$row);
echo $row."\r\n";
}
No quotation marks:
Column1|Column2|Column3|Column4
Column1|Column2|Column3|Column4
Quotation marks on every column:
"Column1"|"Column2"|"Column3"|"Column4"
Column1|Column2|Column3|Column4
Quotation marks on first column only:
"Column1"|Column2|Column3|Column4
Column1|Column2|Column3|Column4
Quotation marks on last column only:
Column1|Column2|Column3|"Column4"
Column1|Column2|Column3|Column4
Quotation marks around empty first column:
""|Column2|Column3|Column4
|Column2|Column3|Column4
Quotation marks around empty middle column:
Column1|""|Column3|Column4
Column1||Column3|Column4
Quotation marks around empty last column:
Column1|Column2|Column3|""
Column1|Column2|Column3|
Unescaped quotation marks:
"Column"1""|Column2|Column3|Column4
Column"1"|Column2|Column3|Column4
Escaped quotation marks:
"Column\"1\""|Column2|Column3|Column4
Column\"1\"|Column2|Column3|Column4