【问题标题】:\r\n Replace not working while sending Emails using PhpMailer Library\r\n 使用 PhpMailer 库发送电子邮件时替换不起作用
【发布时间】:2010-05-25 13:50:03
【问题描述】:

我一直在尝试使用 PHP 邮件库发送电子邮件,并且部分成功。
我面临的唯一问题是,当收件人收到邮件时,每一行都显示为 \r\n 。

我试过这个:

$body = str_replace("\\r\\n", '\n', $body);
但它显示的是 '\n' 而不是新行。

我也试过这个:
$body = str_replace("\\r\\n", "\\n", $body);
但它只显示一个空格。仍然没有新行:(

有人可以帮我吗?

【问题讨论】:

  • “显示为\r\n”到底是什么意思?有两个换行符吗?还是文字字符?
  • \r\n 表示从文本区域获取输入时的换行符。它们显示为文字字符

标签: php preg-replace phpmailer


【解决方案1】:

必须是:

$body = str_replace("\r\n", "\n", $body);

您的第一个示例几乎是正确的,除了您在单引号中使用 \n 而不是双引号。

【讨论】:

    【解决方案2】:

    试试这个

    Blockquote$body = stripcslashes(isset($body) ? preg_replace(' (\\r|\\r\\n|\\n)#', '
    ', $body) : false); $body = str_replace("

    ","
    ",$body);

    对我有用

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-06-25
      • 2013-10-05
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多