有人知道如何使用php-mail()在回显变量和字符串本身之间为主题行留出空间吗?我试过这个
$subject = $user_data->first .' '.'recommends a place';
和这个
$subject = $user_data->first .' recommends a place';
但当发送邮件时,它会显示"Kevinrecommended 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);
这应该有效:
$subject = "{$user_data->first} recommends a place";
注意文本两边的双引号。它们对于确保$user_data->first
得到解释是必要的。
$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';