0

有谁知道如何在使用 php mail() 回显变量和字符串本身之间为主题行放置一个空格?我试过这个

$subject = $user_data->first .' '.'recommends a place';

还有这个

$subject = $user_data->first .' recommends a place';

但是当邮件发送时,它会显示'Kevinrecommends a place'

这是完整的邮件代码:

$to = $form_input['email'];
$subject = $user_data->first .'  recommends a place on';


$msg = 
    'Hi,'."\r\n".
    "\r\n".
    'You were recommended a place by '.$user_data->first .'.'."\r\n".
    "\r\n".
    'Click the link to see it on **!'."\r\n".
    'www.**.com/'.$token."\r\n".
    "\r\n".
    'Cheers,'
    $from = 'From:noreply@**.com';


mail($to, $subject, $msg, $from);
4

2 回答 2

1

这应该有效:

$subject = "{$user_data->first} recommends a place";

注意文本周围的双引号。他们是必要的,以确保$user_data->first得到解释。

于 2012-07-31T04:01:49.383 回答
0
$subject = $user_data->first . ' recommends a place';

这应该工作得很好。现在,我有时会遇到奇怪的 Unicode 字符的问题。你确定$user_data->first变量只包含字母吗?

试试这个(不要这样,它会从你的字符串中删除所有非字母字符):

$name = preg_replace('/[^a-zA-Z]/', '', $user_data->first);
$subject = $name . ' recommends a place';
于 2012-07-31T04:12:01.983 回答