PHPでCSV文字列を生成する PHPで、改行やダブルクォートが含まれる値はエスケープするExcel風の(あるいはRFC 4180の)CSV文字列を取得する方法がよくわからなかった。 とりあえず「Perlメモ - 値のリストから CSV形式に変換する」風に処理することにして、エスケープする関数を作っておくことにする。 /** * エスケープ済みのCSV出力に適した値を取得する * ・RFC4180の第2項参照、基本的にExcel互換のクォートとエスケープを行う * * @param string $value * @return string $value */ function get_csv_quoted_value($value) { if (! is_string($value)) return $value; $value = preg_replace(’/“/’, ’”“’,
![sinkin' in the rain - PHPでCSV文字列を生成する](https://cdn-ak-scissors.b.st-hatena.com/image/square/e64ede238628fdd2c4afa9c2ec626d27fac2da67/height=288;version=1;width=512/http%3A%2F%2Fassets.tumblr.com%2Fimages%2Fog%2Ffb_landscape_share.png)