我有一个发送纯文本和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 ...."缩进。
如何防止这种情况发生?
答案 0 :(得分: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);