php - 将带双引号和逗号的字符串导出为csv格式

时间:2013-02-04 05:18:22

标签: php csv

我知道如何用逗号处理带有csv的字符串,以及带有双引号的字符串到csv,

但是如果一个字符串同时带有逗号和双引号,如何转换它?

喜欢:

  

关于“改变缅甸:机构,个性和期望”的研讨会2012年2月10日;

默认情况下,我在字符串中添加了“”,因此可以用逗号转换为csv文件,

但如果此字符串还包含“”,则该字段将分为csv中的两个字段。

我试过了:

  

“研讨会”“”改变缅甸:机构,个性和期望“”“2012年2月10日”

但这是错误的......

2 个答案:

答案 0 :(得分:1)

我认为使用fputcsv()是避免任何问题的最佳方法。

答案 1 :(得分:0)

这有效:

<?php
@unlink( 'test.csv' );
$fp = fopen( 'test.csv', 'w' );

$text = '"Changing Myanmar: Institutions, Personalities and Expectations"';

fwrite( $fp, '"'. str_replace( '"', '""', $text ) . '", "test"' . "\n" );

fclose( $fp );
?>

从此csv文件中读取:

$fp = fopen( 'test.csv', 'r' );

while( ( $data = fgetcsv( $fp, '', ',' ) ) !== false ) {
    echo $data[0];
}

fclose( $fp );

输出 - "Changing Myanmar: Institutions, Personalities and Expectations"

希望这有帮助。