PHP从电子邮件列表中删除电子邮件

时间:2017-04-11 15:22:36

标签: php

我正在尝试在创建帖子后发送电子邮件,但是尝试省略向帖子的创建者发送电子邮件。

我通过

获得demo3@demo.com, demo2@demo.com, demo4@demo.com
$emails = rtrim($emails,', ');

我正在尝试删除demo3@demo.com

$owners_email = Session::get('user_email'); // which is demo3@demo.com
$emails = rtrim($emails,$owners_email);

但我得到demo3@demo.com, demo2@demo.com, demo4

2 个答案:

答案 0 :(得分:2)

$emails = join(', ', array_diff(array_map('trim', explode(',', $emails)), [$owners_email]));

详细说明,如果需要,您可以单独执行以下步骤:

  • explode(',', $emails):将您的电子邮件列表转换为数组
  • array_map('trim', ...):从电子邮件中删除空白
  • array_diff(..., [$owners_email]):从阵列中删除所有者的电子邮件
  • join(', ', ...):将电子邮件折叠回列表

答案 1 :(得分:1)

这个怎么样? http://php.net/manual/en/function.str-replace.php

str_replace($owners_email.",","",$emails);