有没有人知道如何在使用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);
答案 0 :(得分:1)
这应该有效:
$subject = "{$user_data->first} recommends a place";
请注意文字周围的双引号。他们必须确保$user_data->first
得到解释。
答案 1 :(得分: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';