所有人,
我有一个预订表单,该表单使用功能(attendees_full_info)输出输入到电子邮件中的所有数据。现在,格式困扰我,因为所有标签和输入都在一行中。
我有以下代码:
if(is_array($reg_form) and count($reg_form))
{
foreach($reg_form as $field_id=>$value)
{
// Placeholder Keys
if(!is_numeric($field_id)) continue;
$type = $reg_fields[$field_id]['type'];
$label = isset($reg_fields[$field_id]) ? $reg_fields[$field_id]['label'] : '';
if(trim($label) == '') continue;
if($type == 'agreement')
{
$label = sprintf(__($label, 'mec'), '<a href="'.get_the_permalink($reg_fields[$field_id]['page']).'">'.get_the_title($reg_fields[$field_id]['page']).'</a>');
$attendees_full_info .= $label.': '.($value == '1' ? __('Yes', 'mec') : __('No', 'mec'))."\r\n";
}
else
{
$attendees_full_info .= __($label, 'mec').': '.(is_string($value) ? $value : (is_array($value) ? implode(', ', $value) : '---'))."\r\n";
}
}
}
结果如下:Result 1
这是我已经尝试过的。在“:”之后,我插入了\ r \ n或仅插入了\ n。但这是行不通的。
示例:
if($type == 'agreement')
{
$label = sprintf(__($label, 'mec'), '<a href="'.get_the_permalink($reg_fields[$field_id]['page']).'">'.get_the_title($reg_fields[$field_id]['page']).'</a>');
$attendees_full_info .= $label.': \r\n'.($value == '1' ? __('Yes', 'mec') : __('No', 'mec'))."\r\n";
}
else
{
$attendees_full_info .= __($label, 'mec').': \r\n'.(is_string($value) ? $value : (is_array($value) ? implode(', ', $value) : '---'))."\r\n";
}
有人知道我如何相应地修改代码吗?
谢谢。
从代码的其他部分(例如,在您创建<a href
文本的地方等等),您的电子邮件看起来像是HTML格式的电子邮件。
假设正确,则预期换行符(\n
或\r\n
)字符将不起作用-HTML无法将其识别为格式字符。实际上,您实际上可能会将它们视为完成的输出的一部分。
在HTML中,您可以改为使用<br/>
标签指定换行符。运行此演示以查看实际效果:
Line 1<br/>Line2