• ベストアンサー

変数の改行コードを特定の文字列に変換する方法

お世話になります。 Webフォームからsubmitすると入力内容がメールで送られてくる プログラムを作成しておりまして、メール本文を次のようにしております。 $comment = "\nお名前   : ".$name."\n"; $comment = $comment."住所    : ".$address."\n"; $comment = $comment."電話番号  : ".$tel."\n"; $comment = $comment."内容    : ".$naiyo."\n"; このように書くと、内容にて改行されると次のように表示されてしまいます。 -------------------------------------------------- お名前   : 山田 太郎 住所    : 東京都●●区1-1-1 電話番号  : 03-1234-5678 内容    : こんにちは。 明日のご都合はいかがでしょうか。 -------------------------------------------------- これを次のように表示したいのですが、何か良い書き方はありませんでしょうか。 ※すみません、教えてgooだと横がバラバラですね。メールだと:が揃うんです…。 -------------------------------------------------- お名前   : 山田 太郎 住所    : 東京都●●区1-1-1 電話番号  : 03-1234-5678 内容    : こんにちは。         明日のご都合はいかがでしょうか。 -------------------------------------------------- 自分なりに試行錯誤して次のように書いてみたのですが 全然思ったように動作してくれませんでした。 $comment = $comment."内容    : ".str_replace('\n','\n        ',$naiyo)."\n"; ご助言、よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • SAYKA
  • ベストアンサー率34% (944/2776)
回答No.1

一般的には 質問中に書いてあるように >教えてgooだと横がバラバラですね 空白揃えは合う合わないがバラバラ。 タブで整えても多分環境依存。 こういう場合は…タブで整えても良いけど個人的には ↓みたくなるようにするかな。 -------------------------------------------------- 内容    :  こんにちは。 明日のご都合はいかがでしょうか。 --------------------------------------------------

crossone
質問者

補足

ご回答ありがとうございます。 gooだとバラバラに表示されておりますが、実際メールを受信する人は 限られており、そのユーザ全員が同じメーラーを使用していることから 空白揃えがバラバラにならないことを想定しています。 言葉足らずで申し訳ありません。 ですので、質問内容にありますとおり、改行コードを空白+改行に 変換出来れば問題は解決できると考えています。 よろしくお願いいたします。

その他の回答 (2)

  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.3

普通は・・・ 「等角フォントで読むことを前提にした画面構成をしています」 と但し書きをしておく

crossone
質問者

お礼

自己解決しましたので締め切らせていただきます。 書き方の問題だったようです。以下のように直したところ、こちらが想定した正しい動きになりました。 お騒がせしました。 $comment = $comment."内容    : ".str_replace("\n","\n        ",$naiyo)."\n";

crossone
質問者

補足

ご回答ありがとうございます。 仰るとおりですね。言葉足らずでした…。 ご指摘ありがとうございます。

  • inu2
  • ベストアンサー率33% (1229/3720)
回答No.2

どんなに苦労しても、スペースで : をそろえても、受信する側のOSやメールソフトのフォントの種類でガタガタになりますので、あまり意味ないですよ。 タブも、メールソフトの解釈で2バイト分だったり4バイト分だったりとバラバラです

crossone
質問者

補足

ご回答ありがとうございます。 下でも補足しておりますが、gooだとバラバラに表示されておりますが、実際メールを受信する人は限られており、そのユーザ全員が同じメーラーを使用していることから空白揃えがバラバラにならないことを想定しています。 言葉足らずで申し訳ありません。 ですので、質問内容にありますとおり、改行コードを空白+改行に 変換出来れば問題は解決できると考えています。 よろしくお願いいたします。

関連するQ&A