Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
527 views
in Technique[技术] by (71.8m points)

line breaks - PHP nl2br() basic function

Can somebody please help me with this mail script.

I'm simply trying to send an html email and part of the message is from a user textarea, which puts in .

I seem to be unable to use nl2br or any other similar function. The code below isn't what I'm using but still produces the error.

The code:

$to  = 'example@gmail.com';

$subject = 'Test Subject';

$message_var_1 = 'test1 
 test2 
 test3';
$message = nl2br("
    <div>
    <div>$message_var_1</div>
    </div>
");

$headers  = 'MIME-Version: 1.0' . "
";
$headers .= 'Content-type: text/html; charset=iso-8859-1' . "
";
$headers .= 'X-Mailer: PHP/'.phpversion() . "
";

mail($to, $subject, $message, $headers);
See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)
$message_var_1 = 'test1 
 test2 
 test3';

PHP parses and only within ", not within '. So nl2br won't apply here.

$message_var_1 = "test1 
 test2 
 test3";
$message = '<div>
     <div>'.nl2br($message_var_1).'</div>
</div>';

This ought to work.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...