Javascript / jQuery替换重复的span标记

时间:2013-05-01 05:00:40

标签: javascript jquery regex

我不擅长正则表达式,我在这个问题上需要帮助。

1)我想模仿bbcode,替换html文本中的span标签。

HTML格式

thtml= 'this the text content <span style="color: #000;">color this text</span> with mutiple span like this <span style="color: #000;">second span</span> and more';

代码:

thtml.replace('[','<span style="color: #000;">');
thtml.replace(']','</span>');

使用该代码只需更换一次。

'this the text content [color this text] with mutiple span like this <span style="color: #000;">second span </span> and more';

我想要的结果:

'this the text content [color this text] with mutiple span like this [second span] and more';

2)如果可能的话,也可以从最后一种格式恢复为源HTML格式。

谢谢。

2 个答案:

答案 0 :(得分:4)

怎么样:

thtmk.replace(/\<span style\=\"color\: \#000\;\"\>/g,'[')
thtmk.replace(/\<\/span\>/g,']')

它适合你吗?

答案 1 :(得分:1)

使用正则表达式

HTML PAGE

<div id="t">this the text [content color this text] with mutiple span like this [second span] and more;</div>
<br/>
<input type="button" id="button1" value="submit" />
<div id="t1"></div>
<br/>

的jQuery

$(document).ready(function () {
    $('#button1').click(function () {
        var thtml = $('#t').text();

        var thtml1 = thtml.replace(/\[/g, '<span style="color: blue;">');
        var thtml2 = thtml1.replace(/\]/g, '</span>');
        $('#t1').html(thtml2);

    });

});

它会替换所有出现的'['和']'

工作演示http://jsfiddle.net/cse_tushar/gCBFu/