我不能在PHP的mail()函数中输入双换行符

时间:2011-08-05 22:39:20

标签: php email

$text = 'blah<br /><br />blah';

$text = preg_replace('#<br />#', "\n", $text);

当我在浏览器中查看它时,它会输入双换行符。但是,当我尝试通过mail()函数将其发送到我的电子邮件地址时,它只输出一个换行符。

有谁知道这是什么原因?以及如何使其发挥作用?

我正在尝试发送纯文本,而不是HTML。

Content-Type: text/plain; charset="utf-8"

1 个答案:

答案 0 :(得分:0)

尝试使用PHP_EOL代替跨平台兼容的解决方案,尽管"\n"应该是99%的罚款。另外,我建议str_replace()而不是preg_replace(),用正则表达式解析(尽管这很简单)有点慢(*),

$text = "blah<br /><br />blah";  # with double quotes, not to have it treated literal.
$text = str_replace(array('<br />','<br/>','<br>'), PHP_EOL, $text);

(*)我在等待关于这个的批评者