@targetologru

Как заменить все вхождения?

Нужно заменить все переносы строк на <br>, но не более двух БРов.

То есть если один перенос - один <br>. Если два переноса - два <br>. Но если переносов подряд больше, заменять на два <br>

Сейчас я справляюсь такой штукой:
<script type="text/javascript">
	/* Подключаем авторесайз */
	autosize($('#post_text'));

	function replace_it(str) {
		str = str.replace(/[\n]{2,}/g, '<br><br>');
		str = str.replace(/[\n]{1}/g, '<br>');
		return str;
	}

	/* Перепечатываем текст в превью */
	$('textarea').on('input', function () {
		$('#post_preview_text').html(replace_it($(this).val()));
	});
</script>

Есть ли более простой способ?
  • Вопрос задан
  • 89 просмотров
Решения вопроса 1
zendor
@zendor
UPD (не правильно понял поставленную задачу):
str.replace(/(\n{2,})|\n{1}/g, (_, p1) => p1 ? '<br><br>' : '<br>');
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы