Возник небольшой баг. Если я оборачиваю строку в код, а затем в спойлер, то при сохранении строка в спойлере выглядит как строка, а не код.
Путь для решения ясен.
Добавляю к существующей
var cod = /(\[code(:?=[^\]]+)?\])(.*?)(\[\/code\])/gi;
переменную
var sp_cod = /(\[spoiler(:?=[^\]]+)?\]\[code(:?=[^\]]+)?\])(.*?)(\[\/code\]\[\/spoiler\])/gi;
для использования в стеке
a.mess = (a.mess).replace(sp_cod, function (s,p1,p2,p3){
stack[++j]=[p1,p2,p3]; return bound+j+bound;
});
Но не могу сообразить как правильно условие прописать здесь, а затем и в парсере.
Если здесь думаю что так
if(cod){
var stack = [], j=-1, bound = '==bound==';
a.mess = (a.mess).replace(cod, function (s,p1,p2,p3){
stack[++j]=[p1,p2,p3]; return bound+j+bound;
});
}
if(sp_cod){
var stack = [], j=-1, bound = '==bound==';
a.mess = (a.mess).replace(sp_cod, function (s,p1,p2,p3){
stack[++j]=[p1,p2,p3]; return bound+j+bound;
});
}
То в парсере вообще не знаю. Там используется такой метод
me.addBBCode('[code=php]{CODE}[/code]', '<code>{CODE}</code>');
Для сойлера соответственно свой, для кода в спойлере я допишу, но как заставить использовать нужный?