PHP: записать запятую в CSV-файл

У меня есть форма, которая представляет данные в CSV-файл.
Когда пользователь вводит запятую в поле, это разрушает мою структуру CSV.
Я хочу преобразовать введенные запятые, чтобы они отображались как символы.

Я попробовал это:

$_POST["field"] = str_replace(",", "','", $_POST["field"]);

2

Решение

Ты можешь использовать fputcsv () написать и fgetcsv () чтобы прочитать файл, он автоматически преобразует вашу строку.

Простой пример для записи данных:

$csv = fopen('file.csv', 'w');
$array = array($csv);
fputcsv($csv, $array);

И чтение данных:

$csv = fopen('file.csv','r');
print_r(fgetcsv($csv));
3

Другие решения

Используйте html-кодирование для мгновенного облегчения, но все же моя рекомендация использовать phpExcel

$comma="&#44";
$_POST["field"] = str_replace(",", $comma, $_POST["field"]);
1

Возможно, не самый лучший ответ, но он работает.

Вы можете заменить запятую случайной строкой при вводе в CSV, как показано ниже:

$commastring = str_replace(",", "/zwdz/", $tempstring);

и затем, когда вам нужно вывести запятую где-нибудь на вашем сайте (если база данных сайта), вы можете сделать наоборот str_replace

0

Вы можете избежать комы, как это:

$_POST["field"] = str_replace(",", "\,", $_POST["field"]);

Или вы можете поместить строку в кавычки

$_POST["field"] = "'".$_POST["field"]."'";
0