3v4l.org

run code in 300+ PHP versions simultaneously
<?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"; }
Output for 7.1.0 - 7.1.33, 7.2.0 - 7.2.34, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
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

preferences:
93.33 ms | 410 KiB | 5 Q