Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Регулиряки негативный просмотр и прочее (https://javascript.ru/forum/misc/28869-reguliryaki-negativnyjj-prosmotr-i-prochee.html)

Антон Крамолов 05.06.2012 22:11

v = v.trim();
        v = '<p>' + v;
        v = v.split(/(\r\n|\r|\n){2,}/).join('</p><p>');
        v += '</p>';
        val('preview', v);


Почему такой код неправильно работает?

Вводишь

1
2
3

Получается такое безобразие

<div id="preview" class="preview">
  <p>1</p>
  <p>
</p>
  <p>2</p>
  <p>
</p>
  <p>3</p>
</div>


Я хочу чтобы два переноса новый абзац, один тупо br вставить

oneguy 05.06.2012 22:52

У вас в регулярке есть захватывающие скобки. Поэтому split в массив кидает, помимо прочего, ещё и совпадения в скобках.
Если вам просто надо показать текст в элементе с сохранением переносов строк, то лучше установить свойство CSS white-space: pre-line.

Антон Крамолов 19.12.2012 14:43

было время


Часовой пояс GMT +3, время: 04:14.