[PHP-users 3135] textareaの内容をCSVに書きたいが

takaesu php-users@php.gr.jp
Fri, 26 Oct 2001 16:00:42 +0900


こんにちは。takaesuといいます。

#PHPというより、コーディング技術不足から来る質問かもしれません。

HTMLのTEXTAREAに入力された内容をCSVに書き込む際の問題です。
ご存知のとおりTEXTAREAの内容には改行コードが含まれますが
CSVは改行がレコードの区切りなので何らかの対応が必要です。
また、クライアントにより改行コードもまちまちです。

$a = "abc\r\nxyz";	// Windows
$a = "abc\nxyz";	// Linux
$a = "abc\rxyz";	// Mac?

これらのデータの改行コードを表示可能な文字に置換しようと
考えました。すなわち、
	'abc\nxyz';	// シングルクォートで囲ったよ
の様な形に変換してCSVに書き込む考えです。
#元々のデータに '\n'という文字列が含まれているというのは無し(^^;

で、以下の様に安易にやってみたのですがダメでした。
$off_str = strtr($off, "\r\n", "\\r\\n");       // 改行を見える形に
$off_str = strtr($off_str, "\n", "\\n");        // 改行を見える形に
$off_str = strtr($off_str, "\r", "\\r");        // 改行を見える形に

ということは文字列を1バイトづつ見て置換して行くしかないのでしょうか?
もっとスマートな方法があるような気がします。
上級者の方々、ご指導ください。
#えっ、自分で関数作って、経験を積んで精進しろって・・・

-- 
takaesu <takaesu@geocities.co.jp>