以.csv格式维护逗号
问题描述:
我的脚本工作得很好,但我无法解决如何维护逗号,无法破坏我的.csv格式。以.csv格式维护逗号
我一直能够得到这个工作的唯一方法是通过preg_replace()和剥离逗号。但这是不够的。我尝试了几种不同的黑客无济于事。
这是我现在有:
foreach ($rows[$i] as $value) {
$insert .= preg_replace("/,/", "", $value) . ",";
//$insert .= mysql_real_escape_string($value) . ",";
}
答
你有没有尝试过这样的事情
foreach ($rows[$i] as $value)
{
$rowparts = explode(",",$value);
// Do some validation, i.e. columcount, string specfier an so on
$insert .= implode("; ", $rowparts) . "\r\n";
}
只是一个想法,你也可以建立您的CSV行的部分的验证。
为什么它不够?当然,你可以使用'str_replace()'(而且应该)而不是正则表达式,但是你的正则表达式_应该工作。 “不够”涵盖了很多情况;请澄清。 – Bojangles 2012-01-07 04:49:37
如果你用'fputcsv'创建你的cvs文件,并用'fgetcsv'读取它们,你就不会有这个问题... – 2012-01-07 05:18:44
当然这是不够的......用一组胡桃夹搅拌你的咖啡是不够的...使用正确的工具进行这项工作...使用fgetcsv()和fputcsv()读取和写入csv文件,并且您不会有任何需要黑客解决方案的问题 – 2012-01-07 07:21:35