用空格替换不需要的页脚文本

时间:2015-01-04 13:43:17

标签: javascript regex replaceall

如何替换不需要的页脚文字?

 ---  
This email has been checked for viruses by Avast antivirus software.  
http://www.avast.com

html代码页脚:

     <span class="Apple-converted-space">&nbsp;</span><br><br><br>---<span class="Apple-converted-space">&nbsp;</span><br>
This email has been checked for viruses by Avast antivirus software.<span class="Apple-converted-space">&nbsp;</span><br>
<a href="http://www.avast.com" style="text-decoration: none; color: rgb(22, 54, 87); ">
http://www.avast.com</a></span></span> 

差不多完成了,但我认为代码可以放在一行

document.getElementById('footer').innerHTML = data;
data = data.replace(/---.*/gi, '');
data = data.replace((/(<br>This email has.*).+?/gi, '');
data = data.replace((/(http:\/\/www\.avast\.com)<\/a>?(<br\s*\/?>{2,3})?/gi, '');
document.getElementById('footer').innerHTML = data;

在论坛中找到的一个例子

data = data.replace(/(<br>){2,3}---(<br>This).+?(avast\.com)<\/a>( ---)?/gi, '');

上面的代码将以纯HTML格式工作,它不能与WebKit生成的代码一起使用

2 个答案:

答案 0 :(得分:0)

正则表达式:

---.*|<br>\s*This email has.*|<a\b[^>]*>.*?(http:\/\/www\.avast\.com).*?</a>
  • ---.* ==&gt;匹配来自data.replace(/---.*/gi, '');

  • 的文字
  • <br>\s*This email has.* ==&gt;匹配文本来自:data.replace((/(<br>This email has.*).+?/gi, ''); //使用更正来匹配<br>之后的空格字符 作为替代方案,您可以写:<br>\s*This email has[^<]*停在该行的末尾或下一个标记的开头。

  • <a\b[^>]*>.*?http:\/\/www\.avast\.com.*?</a> ==&gt;匹配名称(链接文本)中包含"http://www.avast.com"的链接。

  • |用于匹配替代正则表达式,如果前一个正则表达式不匹配

Regex Test


result = text.replace(/---.*|<br>\s*This email has.*|<a\b[^>]*>.*?(http:\/\/www\.avast\.com).*?<\/a>/gi, "");

答案 1 :(得分:0)

/(<br>){3}[\s\S]+?avast.com<\/a>/应该对你有用:

  1. (<br>){3}完全匹配3 br标签
  2. [\s\S]匹配任何内容,包括换行符(基本上表示任何字符是空格,任何字符都不是空格,即所有内容)
  3. +表示匹配以前的一个或多个条件(任何字符)
  4. ?表示为了达到下一个标准,只需匹配最后一个标准(任何字符),
  5. avast.com<\/a>/完全匹配此字符串
  6. &#13;
    &#13;
    function removeFooter(){
    
      var elm = document.getElementById('footer');
      elm.innerHTML = elm.innerHTML.replace(/(<br>){3}[\s\S]+?avast.com<\/a>/, "repalced footer text");
    
    }
    &#13;
    #msgBody{
      height:55px;
      width:300px;
      background-color:#999999;
      margin-top:10px;
      
      }
    &#13;
    <input type="button" onclick="removeFooter()" value="Remove Footer"/>
    <div id="msgBody"></div>
    <div id="footer">
    <br><br><br>
     <span class="Apple-converted-space">&nbsp;</span><br>
      This email has been checked for viruses by Avast antivirus software.
    <span class="Apple-converted-space">&nbsp;</span><br>
    <a href="http://www.avast.com" style="text-decoration: none; color: rgb(22, 54, 87); "> http://www.avast.com</a>
    </div>
    &#13;
    &#13;
    &#13;