Цитата:
|
Так. Во-первых, тестовые примеры здесь надо публиковать.
|
Это обязательно? Я не против, но примеры с jsfiddle более наглядны.
Цитата:
|
Во-вторых, абсолютно непонятно, какое поведение вам надо получить. Такое?
|
Я хочу выводить html, при этом переводы строки преобразовывать в <br />, а если переводов два и больше оборачивать абзац в <p></p>. Эту часть я сделал.
Теперь я хочу чтобы в абзацы не заворачивались блочные элементы. Но перед тем как составить регулярное выражение содержащие все блочные элементы «тренируюсь на кошках». В роли кошек: block = /(ac|dc)/gi;
Цитата:
|
P. S. Где регулярка block? Где её код?
|
str="ac dc";
block = /(ac|dc)/gi;
str = str.replace(block,'</p>'+block.exec(output)+'<p>');
//str = str.replace(/\n\n+/g,'</p><p>');
//str = str.replace(/\n/g, "<br />");
//str = ('<p>'+str+'</p>')
alert(str);
Хочу получить:
</p>ac<p> </p>dc<p>
upd
alert(str.replace(/^/gm, "<p>").replace(/$/gm, "</p>").replace(/(?:\<p\>\<\/p\>)|\n/g, ""));
Первые две замены вроде понял.
Нагуглил:
(?:...) Passive (non-capturing) group
(?:pattern) Соответствует строке pattern, но не запоминает найденное соответствие. Используется для группировки частей образца, например, /ко(?:т|шка)/ — это краткая запись выражения /кот|кошка/.
Не могли бы вы пояснить эту конструкцию?