我无法在PHP';s mail()函数 $text='blahblah'; $text=preg_replace(“#”、“\n”、$text);

我无法在PHP';s mail()函数 $text='blahblah'; $text=preg_replace(“#”、“\n”、$text);,php,email,Php,Email,当我在浏览器中查看它时,它确实输入了双线分隔符。但是,当我试图通过mail()函数将其发送到我的电子邮件地址时,它只输出一个换行符 有人知道这是什么原因吗?如何让它工作 我正在尝试发送纯文本,而不是html 内容类型:文本/普通;charset=“utf-8”尝试使用PHP\u EOL作为跨平台兼容的解决方案,尽管“\n”应该可以达到99%的效果。另外,我建议使用str_replace()而不是preg_replace(),使用regex进行解析(尽管如此简单)会稍微慢一些(*) $text=“

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

有人知道这是什么原因吗?如何让它工作

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


内容类型:文本/普通;charset=“utf-8”

尝试使用
PHP\u EOL
作为跨平台兼容的解决方案,尽管
“\n”
应该可以达到99%的效果。另外,我建议使用str_replace()而不是preg_replace(),使用regex进行解析(尽管如此简单)会稍微慢一些(*)

$text=“废话

废话”#使用双引号,而不是将其逐字处理。 $text=str_replace(数组('
','
','
'),PHP_EOL,$text);

(*)我在等待对此的批评

Preg_replace很好如果你有很长的项目列表要搜索和替换,那么它在处理能力方面的成本是值得的。对于这样的东西,stru_替换就足够了,而且速度更快。这里没有批评你的建议。
$text = 'blah<br /><br />blah';

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