Показать сообщение отдельно
  #4 (permalink)  
Старый 20.11.2011, 19:57
Аспирант
Отправить личное сообщение для ksevelyar Посмотреть профиль Найти все сообщения от ksevelyar
 
Регистрация: 21.03.2009
Сообщений: 53

Цитата:
Так. Во-первых, тестовые примеры здесь надо публиковать.
Это обязательно? Я не против, но примеры с 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, но не запоминает найденное соответствие. Используется для группировки частей образца, например, /ко(?:т|шка)/ — это краткая запись выражения /кот|кошка/.


Не могли бы вы пояснить эту конструкцию?

Последний раз редактировалось ksevelyar, 20.11.2011 в 20:33.
Ответить с цитированием