purazumakoiの[はてなブログ]

技術メモから最近はライフログも増えてきてます。

Mailでの改行コード

普通にwindowsで開発するとCR+LFなんですが、


macだとCRのみだし
UNIXだとLFのみだし


そのせいか確認しただけでも、各アプリごとにメール受信時の改行がちょっと違う

  • outlook Express :ちゃんと改行される
  • outlook: 改行がスペースになる
  • thunderbird: 改行が1つ余分に増える


ということでこんなコードを考えてみた。
これから試すとこだけどね!試した。成功した。
ちょっと修正したけど><

/*
改行コード、
CR+LF(\r\n)をLFに変換 (CRのコードがchr(10),LFはchr(13))
*/
function fMailLine($String){
	$cr_code = chr(10);
	$lf_code = chr(13);
	$crlf_code = $cr_code.$lf_code;
	$String = str_replace($cr_code,"\n",$String);
	$String = str_replace($crlf_code,"\n",$String);
	return $String;
}


↓こっちでもいいかも というかこっちの方がわかりやすいなー

function fSetLF($String){
	$String = str_replace("\r\n", "\n", $String);
	$String = str_replace("\r", "\n", $String);
	return $String;
}