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"));
}