我正要问与这里提出的问题相同的问题.... Forcing fputcsv to Use Enclosure For *all* Fields

问题是



答案是:


/* enclose a field that contains a delimiter, an enclosure character, or a newline */
if (FPUTCSV_FLD_CHK(delimiter) ||
  FPUTCSV_FLD_CHK(enclosure) ||
  FPUTCSV_FLD_CHK(escape_char) ||
  FPUTCSV_FLD_CHK('\n') ||
  FPUTCSV_FLD_CHK('\r') ||
  FPUTCSV_FLD_CHK('\t') ||
  FPUTCSV_FLD_CHK(' ')
)



我需要创建一个CSV文件,将每个字段都括起来...最佳解决方案是什么?

提前致谢...

最佳答案

推出自己的功能-这并不难:

 function dumbcsv($file_handle, $data_array, $enclosure, $field_sep, $record_sep)
 {
     dumbescape(false, $enclosure);
     $data_array=array_map('dumbescape',$data_array);
     return fputs($file_handle,
         $enclosure
         . implode($enclosure . $field_sep . $enclosure, $data_array)
         . $enclosure . $record_sep);
 }
 function dumbescape($in, $enclosure=false)
 {
    static $enc;
    if ($enclosure===false) {
        return str_replace($enc, '\\' . $enc, $in);
    }
    $enc=$enclosure;
 }

(以上使用的是unix样式转义)

C。

关于PHP的fputcsv和封闭领域,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/2514597/

10-12 13:04