【问题标题】:Spacing in subject line for PHP mail() functionPHP mail() 函数的主题行间距
【发布时间】:2012-07-31 03:37:26
【问题描述】:

有谁知道如何在使用 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);

【问题讨论】:

  • 使用  间距,现在让我看看它是否修复
  • 也许这只是疯狂的谈话,但为什么不这样做:$subject = $user_data->first . ' recommends a place';
  • 我做了,但它没有用,所以我也尝试了。
  • $subject="$user_data->first recommends a place"; 怎么样?
  • var_dump($user_data->first); 给你什么?

标签: php email


【解决方案1】:

这应该可行:

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

注意文本周围的双引号。它们是确保$user_data->first 得到解释所必需的。

【讨论】:

  • 抱歉,这也不好用。我的电子邮件主题行中显示的相同字符串(无空格)......这只是我吗?
  • 好吧,也许我只是暂时改变一下措辞,直到我以后弄清楚。感谢您的帮助。
【解决方案2】:
$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';

【讨论】:

  • 您为什么建议从名字中删除像 éâäîåñ 这样的字符?这些是名字的完全有效字符。
  • @cambraca $user_data->first 仅包含字母,并且在用户注册时已被过滤和 preg_replace
  • @Jocelyn 我明确表示他们不应该这样。此代码仅用于测试特定情况并查看该特定字符串是否有问题。
  • @cambraca:好的。出于测试目的,它很好。
猜你喜欢
  • 2011-07-17
  • 2021-06-03
  • 2014-09-04
  • 1970-01-01
  • 2013-07-15
  • 2014-05-07
  • 1970-01-01
  • 1970-01-01
  • 2017-08-07
相关资源
最近更新 更多