2016-07-20 4 views
1

1つまたは複数のアイテムが含まれている可能性があり、フォーム送信時にメールで送信できるようにしたいが、それぞれのアイテムを新しい行に表示するカンマで区切られた。コンマを<br />に置き換え、送信されたメールに正しく表示されます

配列は、この6-7,4-7,2-5のように見えます。すなわち、

私はこれまでのところ、これを持っている:

6-7<br />4-7<br />2-5<br /> 

$in = $register_order['product_id_array']; 
$out = str_replace(',', '<br />', $in); 

が、電子メールは次のように出てレンダリング

と私はそれのようにレンダリングしたい:

6-7
4-7
2-5

ありがとうございます!

+1

改行タグではなく改行文字( 'PHP_EOL')を使用してください。 – RamRaider

+1

ファイルヘッダーのコンテンツタイプを追加してください。 $ headers = "Content-Type:text/html;" –

答えて

1

を試してみてください、次の操作を行います。すべての重要な部分は、ヘッダ部にある

$to = '[email protected]'; 

$subject = 'Hello there this is my email'; 

$header = "From: " . $name . "\r\n"; 
$header .= "Reply-To: ". $email . "\r\n"; 
$header .= "CC: [email protected]\r\n"; 
$header .= "MIME-Version: 1.0\r\n"; 
$header .= "Content-Type: text/html; charset=UTF-8\r\n"; 

$content = '<html><body>'; 
$content .= 'hello' . '<br />' . 'hello'; 
$content .= '</body></html>'; 

mail($to, $subject, $content, $header); 

メールのコンテンツタイプは、HTMLコンテンツとして読み取られなければならないことを通知する。

+0

> 2016> UTF-8の代わりにISO-8859-1を使用 –

+0

、それを指摘してくれてありがとう – Ivan

2

実際にタグ<br />が印刷されている場合は、content-typeヘッダーをtext/htmlに設定する必要があります。または、<br />タグが電子メールの唯一のHTMLの場合は、\r\nに置き換えてください。\r\nが単一ではなく二重引用符で囲まれていることを確認してください。

-1
$in = $register_order['product_id_array']; 
$out = str_replace(',', '!n', $in); 

または

$in = $register_order['product_id_array']; 
$out = str_replace(',', '/r/n', $in); 

PHPでHTMLメールを送信するためには、このコード

+1

おそらく '$ out = str_replace( '、'、" \ r \ n "、$ in)であるべきだと思います。 – RamRaider

+0

whats '!n' do? –

関連する問題