带有纯文本电子邮件的意外缩进

问题描述 投票:0回答:1

我有一个功能,将发送纯文本和HTML电子邮件。编码时,我缩进代码以获得正确的嵌套。请注意下面的两个代码字符串。

$plain_text = '
*Hi ' . show_user_name($user_id) . '. Thanks for signing up!*
';

$plain_text = '
    *Hi ' . show_user_name($user_id) . '. Thanks for signing up!*
';

当第二个作为纯文本电子邮件发送时,行“* Hi ....”缩进。

我怎样才能防止这种情况发生?

email plaintext
1个回答
0
投票

简而言之,它是缩进的,因为你缩进了它!

在纯文本电子邮件中(与HTML不同),白色空间保留且重要,因此如果您不想要前导空格,请从内容中删除它们:

$plain_text = preg_replace('/^ +/m', '', $plain_text);

您需要使用m修改器将前导空间剥离应用于正文中的每一行。

或者,不要首先缩进 - 代码的缩进不必与您生成的文本的格式相关:

$plain_text =
    '*Hi ' . show_user_name($user_id) . '. Thanks for signing up!*';

如果你使用制表符进行缩进,你也可以过滤掉它们:

$plain_text = preg_replace('/^[ \t]+/m', '', $plain_text);
© www.soinside.com 2019 - 2024. All rights reserved.