PHP mail()函数主题行中的间距


Spacing in subject line for PHP mail() function

有人知道如何使用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';