Конвертация переносов строки в HTML-тег <br /> в JS
Быстрый ответ
let text = "Строка 1\nСтрока 2";
let newText = text.replace(/\n/g, "<br />"); // Символы переноса строки заменены на <br />
Для замены символов переноса строки на <br />, можно применить регулярное выражение /\n/g. Метод .replace выполнит замену во всём тексте автоматически.

Понимание переносов строк в мире разных платформ
Данные для переноса строки интерпретируются по-разному в различных операционных системах: в UNIX-подобных системах используется \n, в системах Windows — \r\n. JavaScript позволяет адаптироваться к этим различиям следующим образом:
let text = "Строка 1\r\nСтрока 2"; // Формат Windows
let newText = text.replace(/(\r\n|\r|\n)/g, "<br />"); // Теперь все форматы принимаются без проблем
В данном регулярном выражении символ | означает выбор одного из вариантов: \r\n, \r или \n. Флаг g обозначает глобальную замену во всём тексте.
Обработка конечных и встроенных переносов строк
Для корректной обработки сложных случаев переносов строк можно воспользоваться следующим подходом:
let text = "Строка 1\n\n \r\nСтрока 2\n"; // Сложный формат
let newText = text.replace(/[\r\n]+/g, "<br />").trim(); // После обработки
Последовательность [\r\n]+ группирует все символы переноса строки. Метод .trim() убирает лишние пробелы в начале и конце строки.
Способ без использования регулярных выражений
Если регулярные выражения кажутся сложными, используйте другой подход:
let text = "Строка 1\nСтрока 2";
let newText = text.split(/\r\n|\r|\n/).join("<br />"); // Просто и понятно
Метод split разделяет строку на массив по переносам строки, а join соединяет элементы обратно, вставляя между ними <br />.
Применение CSS
С помощью CSS можно обработать переносы строк, не используя JavaScript, благодаря свойству white-space со значением pre-line:
p {
white-space: pre-line;
}
Проверьте свой код!
Соблюдайте совместимость между платформами
Учитывайте особенности различных систем при обработке переносов строк. Это важно для обеспечения кросс-платформенной совместимости кода.
Работайте с пробелами верно
Часто символы новой строки сопровождаются пробелами. Проверьте правильность обработки пробелов вашим решением.
Внимание на конечный перенос строки
Будьте особенно внимательны к тому, чтобы на конце обработанной строки не оставалось лишнего тега <br />.
Визуализация
Предположим, есть следующий текст:
🔵 🔴 🔵
\n
🔴
\n
🔵 🔴
Вот как выглядит его обработка через JavaScript:
string.replace(/\n/g, "<br />");
И финишная версия – эстетичная последовательность без разрывов:
🔵 🔴 🔵
✨
🔴
✨
🔵 🔴
Замена переносов строк можно воспринимать как способ соединить отдельные элементы воедино.
Полезные материалы
- String.prototype.replace() – JavaScript | MDN — подробно о методе
replace(). - JavaScript String replace() Method – W3Schools — примеры использования метода
replace(). - Регулярные выражения – JavaScript | MDN — для более глубокого понимания регулярных выражений.
- Спецификация языка ECMAScript – ECMA-262 Edition 5.1 — детальное изучение работы метода
replace(). - javascript – Как удалить все символы переноса строки из строки – Stack Overflow — беседы программистов о проблеме на форуме.


