Php 以.csv格式维护逗号

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) . ","

我的脚本工作得很好,但我无法解决如何在破坏.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行的部分构建验证。

正如其他评论者所指出的,解决此问题的正确方法是使用


你也不应该使用php4,它已经过时了。它已经4年没有更新了。

为什么还不够?当然,您可以使用
str_replace()
(而且应该)代替正则表达式,但是您的正则表达式应该可以工作<代码>不充分涵盖了很多情况;请澄清。如果您使用
fputcsv
创建您的cvs文件,并使用
fgetcsv
读取这些文件,您将不会遇到此问题…当然这是不够的。。。用一套胡桃夹子搅动你的咖啡也不够。。。使用正确的工具进行作业。。。使用fgetcsv()和fputcsv()读取和写入csv文件,您就不会有任何需要黑客解决方案的问题fputcsv不是一个可用的选项,因为我正在使用早期版本的php(4),而fputcsv仅适用于5>。事实上,我早就尝试过你的建议。就“足够”而言,问题在于从任何包含逗号的数据中删除逗号。如果有公司名称,如:My company,LLC。。逗号是从LLC中剥离出来的。在web上有大量的
fputcsv
PHP4实现可以使用。