日期:2014-05-16  浏览次数:20372 次

如何批量替换页面中的某些字符串信息
大家好,我在做邮件接收的时候遇到了一个问题,如果邮件正文附带图片信息(背景图片或者图片)的时候,则邮件的图片无法正常显示出来。

我抓取了邮件正文信息,查看了一下,凡是附件的地方邮件都是类似sid:xxxx@xxxxxxxxxx这样的信息。导致html无法解析图片地址,因而无法显示图片。
如下代码
<TD vAlign=top 
    background=cid:_Foxmail.7@E55BE033-0B72-401A-9D6E-4271B31D3623>&nbsp;</TD></TR>
  <TR>
    <TD vAlign=top 
    background=cid:_Foxmail.8@EBF32866-DF3F-4A9F-BE5B-B4414C68C609><IMG 
      src="cid:_Foxmail.0@A9E7868F-2830-4852-A548-BD058DBA0F57" width=90 
      height=1></TD>
    <TD vAlign=top 
    background=cid:_Foxmail.9@B893894B-BBCB-4382-A121-133D8456BA67 
    colSpan=2>&nbsp;</TD>
    <TD vAlign=top 
    background=cid:_Foxmail.10@102AAAF0-DFF2-4AC1-999B-2C4EFC9E09FF><IMG 
      src="cid:_Foxmail.0@A9E7868F-2830-4852-A548-BD058DBA0F57" width=88 
      height=83></TD>

我想用js批量替换页面中的cid:xxxxxxxxxx这个地址,换成正确的地址信息。但是因为前端技术的匮乏,不知道该如何进行操作了。因此希望各位能帮我看看应当如何解决。谢谢

------解决方案--------------------
for(var arr = document.getElementsByTagName("img"),i=0;i<arr.length;i++){
  if(arr[i].src.indexOf("cid:") ==0){
    arr[i].src.replace("xxx","ooo");
  }
}

------解决方案--------------------

//使用这个正则批量替换
var reg = /background=cid:[^>]*/ig