2

我知道如何将带逗号的字符串处理成csv,将带双引号的字符串处理成csv,

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

喜欢:

“改变缅甸:制度、个性和期望”研讨会,2012 年 2 月 10 日;

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

但如果这个字符串也包含“”,那么该字段在 csv 中分为两个字段。

我试过这个:

““改变缅甸:制度、个性和期望”研讨会“2012 年 2 月 10 日”

但这是错误的……

4

2 回答 2

1

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

于 2013-02-04T06:08:48.177 回答
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"

希望这可以帮助。

于 2013-02-04T05:35:31.343 回答