我有一个HTML表单,我需要存储在数据库中,然后将它写入.csv和.txt。一切工作正常,除了TXT输出给我一些坏字符串。删除“从字符串数组
fputcsv功能:
private function fputcsv_custom1($fp, $array, $eol)
{
fputcsv($fp, $array, ';');
if ("\r\n" != $eol && fseek($fp, -1, SEEK_CUR) === 0)
{ fwrite($fp, $eol . "\r\n"); }
}
控制器:
$peoples = OnlineSzallas::all()->toArray();
$file = fopen("online_szallas.csv", "w+");
$file1 = fopen("online_szallas.txt", "w+");
array_keys($peoples);
foreach ($peoples as $key => $array) {
$this->fputcsv_custom($file, $array, ';');
$this->fputcsv_custom1($file1, $array, ';');
}
fclose($file);
fclose($file1);
它生成箱文件,该文件由分离;和最后一个值给一个\ r \ n至新行
的TXT输出是下一个:
53;"Ujabb teszt";Alkalmazott;teszt;teszt;4000;teszt;teszt;06123456789;test;0;0;Átutalás;;0;0;
如果字符串包含空格,它是由“”存储,如何删除这个报价?或者我怎样才能从数组中替换引号只有这一列?
感谢您的帮助!
编辑
如果我更换2字之间的空间,引号是不存在的,但我能做些什么,如果我需要的串之间的空间?
控制器:
$this->fputcsv_custom($file4, str_ireplace(chr(32), '/',$resztvevok), ';');
$this->fputcsv_custom1($file5, str_ireplace(chr(32), '/',$resztvevok), ';');
输出:
53;Ujabb/teszt;Alkalmazott;teszt;teszt;4000;teszt;teszt;06123456789;0;0;Átutalás;0;0;
但这个我错了,因为/,如果我更换,以CHR(32),该报价将在那里。
任何解决方案?
我已经使用了第一个答案,但在.txt中,引号仍然存在.. –
? '''奇怪..也许复制你看到的字符并将其粘贴到str_ireplace('X')复制它可能不是一个标准报价 –
,但仍然存在输出TXT文件 –