BB-Code-RegEx в JavaScript

У меня есть этот кусок кода:

var s_1 = 'blabla [size=42]the answer[/size] bla bla blupblub';
var s_2 = 'blabla [size=42]the answer[/size] bla bla blupblub [size=32] 32 [/size]';

alert('Test-String:\n' + s_1 + '\n\nReplaced:\n' + size(s_1));
alert('Test-String:\n' + s_2 + '\n\nReplaced:\n' + size(s_2));


function size(s) {
    var reg = /\[size=(\d{1,2})\]([\u0000-\uFFFF]+)\[\/size\]/gi;
    s = s.replace(reg, function(match, p1, p2) {
        return '<span style="font-size: ' + ((parseInt(p1) > 48) ? '48' : p1) + 'px;">' + p2 + '</span>';
    })
    return s;    
}

Предполагается заменить все вхождения тегов "[size = nn] [/ size]", но он заменяет только внешние. Я не могу понять, как заменить их всех. (Пожалуйста, не рекомендуйте использовать PHP-скрипт, я бы хотел получить предварительный просмотр текста в формате BB-кода)

Проверь это

Ответы на вопрос(4)

Ваш ответ на вопрос