0

标记:

<div class="post">
    [tag]dfghf[/tag][tag]gh[/tag][tag]cxbcvb[/tag][tag]gh[/tag][tag]cxbcvb[/tag][tag]gh[/tag]
</div>

JS我到目前为止-

for(var j=0;j<post.length;j++){
    var postText = $(post[j]);
    postText.html(postText.html()
                          .replace('[tag]','<span class="tag">')
                          .replace('[/tag]','</span>')
    );
}

虽然这似乎只替换了第一个标签。如何让它替换所有标签?

4

1 回答 1

2

尝试

postText.html(postText
              .html()
              .replace(/\[tag\]/g,'<span class="tag">')
              .replace(/\[\/tag\]/g,'</span>')
              );

前任:

$('.post').html(function(){
    return $(this)
    .html()
    .replace(/\[tag\]/g,'<span class="tag">')
    .replace(/\[\/tag\]/g,'</span>')
})

演示:小提琴

于 2013-06-08T03:02:47.340 回答