Index: branches/5.2.x/core/kernel/globals.php =================================================================== diff -u -N -r15856 -r16000 --- branches/5.2.x/core/kernel/globals.php (.../globals.php) (revision 15856) +++ branches/5.2.x/core/kernel/globals.php (.../globals.php) (revision 16000) @@ -1,6 +1,6 @@ $field_value) { - // replaces an enclosure with two enclosures - $data[$field_index] = str_replace($enclosure, $enclosure.$enclosure, $field_value); - } + $file = new SplFileObject('php://output', 'w'); - $line = $enclosure.implode($enclosure.$delimiter.$enclosure, $data).$enclosure.$recordSeparator; - $line = preg_replace('/'.preg_quote($enclosure, '/').'([0-9\.]+)'.preg_quote($enclosure, '/').'/', '$1', $line); + ob_start(); + $file->fputcsv($data, $delimiter, $enclosure); + $ret = ob_get_clean(); - return $line; + if ( $recordSeparator != "\n" ) { + return substr($ret, 0, -1) . $recordSeparator; + } + + return $ret; } /**