在JavaScript中解析粗体和斜体标记

时间:2014-08-21 07:11:01

标签: javascript parsing markup

如何解析类似的内容:

var item = "It**e**m";

结果应为:

It<b>e</b>m

我尝试这样做,但它只匹配第一个**,并且不使用**I**t**e**mi**te**m这样的字符串。结果应为<b>I</b>t<b>e</b>m,第二个i<b>te</b>m

    if(item.indexOf("**") > -1){
        var separatedItem = item.split('');
        for (var i=0; i<separatedItem.length; i++){
            if(separatedItem[i] == '*'){
                separatedItem[i+2]=separatedItem[i+2].bold();
                separatedItem = separatedItem.join('');
                var newItem = separatedItem.replace(/([**])/g, '');
                return newItem;
            }
        }
    }else if(item.indexOf("__") > -1){
        var separatedItem = item.split('');
        for (var i=0; i<separatedItem.length; i++){
            if(separatedItem[i] == '_'){
                separatedItem[i+2]=separatedItem[i+2].italics();
                separatedItem = separatedItem.join('');
                var newItem = separatedItem.replace(/([__])/g, '');
                return newItem;
            }
        }
    }else{
        return item;
    }

0 个答案:

没有答案