Новая строка в Javascript не работает - \ n \ r <br> - PullRequest
0 голосов
/ 16 марта 2020

У меня есть форма бронирования, в которой для вывода всех данных, введенных в электронное письмо, используется функция (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";
                }

Кто-нибудь знает, как я могу соответствующим образом адаптировать код?

1 Ответ

0 голосов
/ 16 марта 2020

Из других частей вашего кода (например, где вы создаете <a href текст и т. Д.), Похоже, что ваша электронная почта предназначена для HTML -форматированного электронного письма.

Предполагая, что это правильно, тогда ожидается, что символы новой строки (\n или \r\n) не будут работать - HTML не распознает их как символы форматирования. На самом деле, скорее всего, вы бы видели их как часть готового вывода.

В HTML вместо этого можно указать разрыв строки с тегом <br/>. Запустите эту демонстрацию, чтобы увидеть ее в действии:

Line 1<br/>Line2
...