• ベストアンサー

PHPでメール文を自動で改行するには

色々書物を見たり、ネットで調べたのですが解決できませんでしたので、 どなたかお分かりになる方アドバイスをお願いいたします。 HTML内のtextareaの文面を、メールで送信しようと思っています が、35文字で自動で改行されて表示されるようにしたいのです。 自動で35文字ごとに自動で<br>が入ればよいのですが、やはり それは自分でプログラムするしかないのでしょうか。 何か、簡単な関数みたいなのはないのでしょうか。

  • PHP
  • 回答数2
  • ありがとう数2

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

  • ベストアンサー
  • kaze2com
  • ベストアンサー率50% (6/12)
回答No.2

php関係ないですが、こういう手も。 <textarea cols="35" wrap="hard"> 改行はbrでなく、\nですが。

ityounomi
質問者

お礼

ありがとうございます。 全くその通りでした。 それで普通に改行されて送信されていました。 変な質問をして、ご迷惑をおかけいたしました。

その他の回答 (1)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

<br>で改行されるのはHTML文書だけのはずですが、それはさておき 簡単な関数みたいなのなら、 正規表現の文字列置換を使えばよいのでは。 preg_replace (パターン、置換string、対象string); ですね。 詳しくは自分で調べましょう。 ヒント 35文字をマッチさせて、それに<br>を付加したものに全部置換できますね。

ityounomi
質問者

お礼

ありがとうございます。 ヒントを頂いただけでとても助かります。あとは自分で考えて見ます。

関連するQ&A

  • メール文の途中自動改行について

    WIN VISTAでWINDOWSメールを使用しています。  メール文を作成する際に、長い文章をそのままで送っても、受け取り側において読み易いように自動改行してくれません。そこで改行させたい位置でENTERキーで行っていますが、自動改行させたいと思います。  設定は、ツール → オプション → (タブ)送信 で、メール送信の形式をテキスト形式を選択し、テキスト形式の設定の中で、「送信時の自動的に文字列を折り返す」においてデフォルトのままの「76」になっています。  英文で入力すると単語の切れ目で改行してくれますが、和文章では改行してくれず、画面いっぱいの見にくい長い表示になってしまいます。解決策はあるでしょうか。それとも日本語には対応していないでしょうか。

  • メールフォームでのtextareaの改行

    htmlでフォームを表示し確認、送信はphpで行うフォームなのですが htmlのフォームでtextareaで改行しても確認、送信時には改行が反映されません。 例:(*は改行です) あああ* いいい* ううう* としても『あああいいいううう』となってしまいます。 <textarea name="メッセージ" cols="50" rows="3"></textarea> としています。 検索してこちらのページが参考になることまではわかったのですが 応用の方法がわかりません・・・ http://jp2.php.net/manual/ja/function.nl2br.php 試しにphp内に string nl2br ( string $メッセージ ) としてみたのですが思ったとおりエラーです。 初心者ながらくだらない質問になってしまい申し訳ないのですが どのようなソースにすればいいのでしょうか?

    • 締切済み
    • PHP
  • メールフォームから送られてきたメールで改行が一つ増えるのを解決するには?

    メールフォームから送られくるメールで 例えば メモ:○○○○○○○○○○○○<br> ○○○○○○○○○○○○<br> ○○○○○○○○○○○○ 上のように入力し、送信すると 確認メール上で ○○○○○○○○○○○○<br> <br> ○○○○○○○○○○○○<br> <br> ○○○○○○○○○○○○<br> <br> と、一つ余計に改行が入ってしまいます。 解決策はどうしたらよいでしょうか? ちなみに メールへの吐き出しは mb_send_mail関数を使っています。 めーらーの表示方法は $mail_body .= "【ご意見】 " . "\n" . $memo . "\n"; としています。 アドバイスよろしくお願いします。

    • 締切済み
    • PHP
  • textareaで改行させたい

    textareaにあらかじめ文字列を表示させたいと思っています。表示させる文字列は配列に入れていて、配列には aaa bbb ccc のように改行コードが入っているのですが、下記のようにすると、 <textarea name="name1" id="id1" cols="65" rows="15" wrap="soft"><%=Arr(1,6)%></textarea> aaa<br>bbb<br>ccc<br> と表示されます。 テーブルに表示させると問題なく改行されて表示されるのですが、textareaだと、上記のようになってしまいます。 どのようにすればよいかご教示ください。

  • OEのメールで、自動改行されません。

     WindowsMeからアップグレードしました。最近になって気付いたのですが、OutlookExpressにてメールを送信しても、設定した文字数で自動改行されていないのです。しかも、本文の末尾辺りになると、文字化けしています。  あと、ブラウザIEで表示してあるページの文字をコピペすると、フォントまでそのまま反映されてペーストされてしまいます。テキスト形式でメールの作成をしているのですが。  再インストールを試みましたが、プログラムの追加と削除にはなかったのでコンポーネントの追加と削除にてやってみましたが、こちらは正常に削除されていないのかだめでした。  解決方法がわかる方、よろしくお願いします。

  • メール文を自動改行しないようにするには

    メール本文の改行について教えていただきたいのでが、よろしくお願いします。 メールソフトは「Outlook Express」を使っています。 メール文を書いて送信する際に、改行をしないで送りたいと思うのですが「Outlook Express」では出来ないことなのでしょうか。最高でも全角66字で改行してしまい不自然な文になってしまいます。 もし、設定で自動改行しないように出来るのでしたら、方法を教えて下さい。 また、メールソフトを替える必要があるのでしたら、お勧めのソフトを教えてください。 よろしくお願いします。

  • textareaに改行を表示させる

    今htmlとphpで下記のプログラムを書いています。 <?php print "<TEXTAREA cols=50 rows=3>"; print $tem2[0]; print "</TEXTAREA>"; ?> ちなに$tem2をprint_rで表示させると図1のようになります。 そして上記のプログラムを実行すると図2のようになり、改行が<br>や<br />となり改行してくれません。 textareaで$tem2[0]を図3のように改行をきちんとして表示させたいと考えております。 どのようにすればよろしいでしょうか? ご存じの方いらっしゃいましたら、できれば具体的に教えていただけないでしょうか? よろしくお願いします。

  • textareaの改行の仕方について

    文字変数noteには<br>を含むのですが、 下記のプログラムを実行すると<br>がそのままテキストエリアの中に 表示されます。<br>を\r\nや\nに変換しても、それらがそのまま表示されます。 note変数の<br>の箇所で改行してやるには、<br>をどの文字と置換すればいいのでしょうか? print %Q{<textarea rows="5" cols="100" name="title2">#{note}</textarea>}

  • 改行が半角スペースに変わる

    phpのメールフォームからメールを送信するとtextareaの改行した箇所が 半角スペースになってしまいます。phpはUTF-8で改行コードはLFです。 送信前の確認画面までは改行された状態で見れるので送信時に改行が 消されてるのかと思うのですがいまいち原因がわからずです。。。 似たような質問が過去ログにもあったので参照しtextareaのnameがmsgなので nl2br($msg); を試してみたのですが改行にはなりませんでした。 どのようにしたら半角スペースではなく改行されるようになるでしょうか?

    • 締切済み
    • PHP
  • 改行コードを保存できない。

    <textarea wrap="hard" name="sentence" rows="3" cols="30"></textarea> このフォームで、入力したデータは、 PostgreSQLのテーブルに保存されるように構成しました。 フィールドは、"text"型です。 いざそれを、phpでHTMLに呼び出すと、改行文字は無視されます。 実際に、データベースを開くと、その値はこのようになっていました。 "ああああ・・あああ・・・・ああ" 改行コードはどうやら、"・"2個を改行1つと扱って保存しているようでした。 phpで、・・を含む値をHTML呼び出す時、 ・・を<BR>として呼び出して、改行してしまう技はないでしょうか?

専門家に質問してみよう