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

Osamu Shigematsu php-users@php.gr.jp
Fri, 26 Oct 2001 16:48:05 +0900


重松です。

addslashes() だと、\r\n をはじめとして、その他のコントロールコードもダメです
ね。もっとも、JIS なんかの場合、ESC をエスケープされると困るんではないか、と
思ったりもしますが。

説明
string addslashes (string str)

データベースへの問い合わせなどに際してクォートされるべき 文字の前にバックス
ラッシュを挿入した文字列を返します。クォート されるべき文字とは、シングルクォー
ト('), ダブルクォート("),バックスラッシュ (\) ,NUL (ヌルバイト) です。

stripslashes(), htmlspecialchars(), quotemeta() あたりも見たんですけど。

なんで、一文字ずつ見て必要なものは、その都度エスケープしないとダメですね。
かったるい。;-)

両方まとめて、

$buf = ereg_replace('\r\n?|\n','\\n',$buf);

でどうでしょうか。
# あと、" だとか、' なんかも対処する必要がある気はしますけど。

-- 
Osamu Shigematsu

http://www.ravi.ne.jp/%7eshige/
mailto:shige@ravi.ne.jp