- preg_replace: documentation ( source)
<?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";
}