Имеется такой скрипт
var str = 'sometext1 <b>sometext2 <b>sometext3</b> </b> sometext1';
str = str.replace(/\<b\>([\s\S]*)\<\/b\>/gim, function(match, contents, offset, s)
{return "[b]"+contents+"[/b]";}
);
alert(str);
Должен заменять все вхождения в строку, включая внутренние вхождения, но почему-то отказывается и дело доходит только до первого вхождения.
Второй день и так и сяк, но не выходит.