RegExp替换innerHTML,除非是锚标记或代码标记

时间:2014-02-24 16:54:36

标签: javascript html regex

我的替换功能看起来像这样

post.innerHTML = post.innerHTML.replace(treg,function(m){
                  return '<span class="tech-word" title="' + _text[m] + '">' + m + '</span>';
                }).replace(wreg,function(m){
                  return '<a class="post-word-link" href="' + _links[m] + '">' + m + '</a>';    
                }).replace(ireg,function(m){
                  return '<span id="image_'+m+'"><span class="post-hover-img">' + m + '</span><img src="' + _image[m] + '" class="auto-img"></span>';   
                });

正则表达式看起来像这样

wregex=["word1","word2","word3"];
wreg = RegExp('\\b(' + wregex.join('|') + ')\\b(?=\\W)', 'gi');

当我这样做时,它对于单词很有用,但它也会更改锚标记以及代码块。无论如何通过更新正则表达式来远离它们,或者还有其他我想念的东西。

0 个答案:

没有答案