我有一个功能,将发送纯文本和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 ....”缩进。
我怎样才能防止这种情况发生?
简而言之,它是缩进的,因为你缩进了它!
在纯文本电子邮件中(与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);