PHPでCSV出力時するときにデータ中の改行を処理する

行(データ)中の改行をなんとかする。

1. 概要

CSV形式で出力するときにデータ中に改行があるとレイアウトが崩れてしまい、移行先でインポート時に問題が発生します。

この場合「データ中の改行を削除してしまう」で対応してもいいですが、これだと文字列がひと繋がりになってしまいます。ちょっと残念。

移行先のシステムが垂直タブ(\x0b)に対応していれば、改行→垂直タブに変換する事によって改行表現を残す事ができます。(Excel、Wordは対応してます)

2. スクリプト

/**
 * 改行を垂直タブに変換
 * @param	string	$str	変換したい文字列
 * @return	string			変換後文字列
 */
static function eol2vtab($str){
    return strtr($str, array("\r\n"=>"\x0b", "\r"=>"\x0b", "\n"=>"\x0b"));
}