Я хочу, чтобы превратить это:Как сопоставить новые строки как один?
Lorem ipsum dolor sit amet
Ipsum dolor sit amet, consetetur
eirmod tempor invidunt ut labore
в этом:
<p>Lorem ipsum dolor sit amet</p>
<p>Ipsum dolor sit amet, consetetur
eirmod tempor invidunt ut labore</p>
Для достижения этой цели я разделил пункты, применяется регулярное выражение, и, наконец, снова присоединился к ним:
data = data.split('\n\n')
for (var i = 0; i < data.length; ++i) {
data[i] = data[i].replace(/(.+)/g, '<p>$1</p>')
}
data = data.join("")
К сожалению, этот результат следующий:
<p>Lorem ipsum dolor sit amet</p><p>Ipsum dolor sit amet, consetetur</p>
<p>eirmod tempor invidunt ut labore</p>
Каждая строка абзаца рассматривается как один абзац.
Как я могу изменить свой код, чтобы получить желаемый результат?
regexes по умолчанию работают на основе строки. после '' consetetur' '' \ n', '' (. +) 'перестает соответствовать. Попробуйте добавить многострочный флаг: '/(.+)/ gm'. –
Использовать 'data.join (" \ n \ n ")' –
@Marc B Странно, я добавил 'm'. По-прежнему получается тот же результат. – alexchenco