Недостаток CSV-файла без вложений означает, что ошибочная запятая при вводе пользователем приведет к изменению строки. Таким образом, вам нужно удалить запятые перед записью строки CSV.
Сложность при обработке CSV - это анализ корпусов, что делает функции PHP и PEAR CSV полезными. По сути, вы ищете файл, разделенный запятыми для столбцов и символ новой строки для строк. Вот простая отправная точка:
<?php
$col_separator= ',';
$row_separator= "\n";
$a= array(
array('my', 'values', 'are', 'awes,breakit,ome'),
array('these', 'values', 'also', "rock\nAND\nROLL")
);
function encodeRow(array $a) {
global $col_separator;
global $row_separator;
// Can't have the separators in the column data!
$a2= array();
foreach ($a as $v) {
$a2[]= str_replace(array($col_separator, $row_separator), '', $v);
}
return implode($col_separator, $a2);
}
$output= array();
foreach ($a as $row) {
$output[]= encodeRow($row);
}
echo(implode($row_separator, $output));
?>