У меня есть форма, которая представляет данные в CSV-файл.
Когда пользователь вводит запятую в поле, это разрушает мою структуру CSV.
Я хочу преобразовать введенные запятые, чтобы они отображались как символы.
Я попробовал это:
$_POST["field"] = str_replace(",", "','", $_POST["field"]);
Ты можешь использовать fputcsv () написать и fgetcsv () чтобы прочитать файл, он автоматически преобразует вашу строку.
Простой пример для записи данных:
$csv = fopen('file.csv', 'w');
$array = array($csv);
fputcsv($csv, $array);
И чтение данных:
$csv = fopen('file.csv','r');
print_r(fgetcsv($csv));
Используйте html-кодирование для мгновенного облегчения, но все же моя рекомендация использовать phpExcel
$comma=",";
$_POST["field"] = str_replace(",", $comma, $_POST["field"]);
Возможно, не самый лучший ответ, но он работает.
Вы можете заменить запятую случайной строкой при вводе в CSV, как показано ниже:
$commastring = str_replace(",", "/zwdz/", $tempstring);
и затем, когда вам нужно вывести запятую где-нибудь на вашем сайте (если база данных сайта), вы можете сделать наоборот str_replace
Вы можете избежать комы, как это:
$_POST["field"] = str_replace(",", "\,", $_POST["field"]);
Или вы можете поместить строку в кавычки
$_POST["field"] = "'".$_POST["field"]."'";