Php 以.csv格式维护逗号
我的脚本工作得很好,但我无法解决如何在破坏.csv格式的情况下保持逗号 我唯一能做到这一点的方法是preg_replace()并去掉逗号。。但这是不够的。我试过几种不同的方法,但都没有用 以下是我现在拥有的:Php 以.csv格式维护逗号,php,string,csv,foreach,Php,String,Csv,Foreach,我的脚本工作得很好,但我无法解决如何在破坏.csv格式的情况下保持逗号 我唯一能做到这一点的方法是preg_replace()并去掉逗号。。但这是不够的。我试过几种不同的方法,但都没有用 以下是我现在拥有的: foreach ($rows[$i] as $value) { $insert .= preg_replace("/,/", "", $value) . ","; //$insert .= mysql_real_escape_string($value) . ","
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行的部分构建验证。正如其他评论者所指出的,解决此问题的正确方法是使用
你也不应该使用php4,它已经过时了。它已经4年没有更新了。为什么还不够?当然,您可以使用
str_replace()
(而且应该)代替正则表达式,但是您的正则表达式应该可以工作<代码>不充分涵盖了很多情况;请澄清。如果您使用fputcsv
创建您的cvs文件,并使用fgetcsv
读取这些文件,您将不会遇到此问题…当然这是不够的。。。用一套胡桃夹子搅动你的咖啡也不够。。。使用正确的工具进行作业。。。使用fgetcsv()和fputcsv()读取和写入csv文件,您就不会有任何需要黑客解决方案的问题fputcsv不是一个可用的选项,因为我正在使用早期版本的php(4),而fputcsv仅适用于5>。事实上,我早就尝试过你的建议。就“足够”而言,问题在于从任何包含逗号的数据中删除逗号。如果有公司名称,如:My company,LLC。。逗号是从LLC中剥离出来的。在web上有大量的fputcsv
PHP4实现可以使用。