现在需要将一个html文件内容里的 <img src="file://C:\Documents and Settings\Administrator\桌面\icon_fold01.png"> 全部替换为<img src="cid:icon_fold01.png">   如何实现 ,因为<img src="file://后面的内容并不相同,但是,src内容改为 cid:+路径最后的文件名  就可以。怎么操作?求算法!!

解决方案 »

  1.   

    是将 “file://C:\Documents and Settings\Administrator\桌面\” 换成 “cid:”?这个用常见的编辑软件的替换功能应该就可以了要替换的少话,手工就可以了file://后面的内容并不相同,究竟是怎么不同,找出规律,采用可以使用正则表达式的编辑器来替换
      

  2.   

    假想:
    "cid:"+获取src的值按\截取最后的值
      

  3.   

    给你个思路
    当成拷贝来写
    1、先写代码循环读取一定量的字符,存到另一个文件中,建议每次读取字符在200-500左右;
    2、碰到以<img src="file:// 这行的时候单独读取,然后对这个字符串进行替换 
      

  4.   

    [code=Jav]public class ImgSource {    public static void main(String[] args) {
            String img = "<img src=\"file://C:\\Documents and Settings\\Administrator\\桌面\\icon_fold01.png\">\n" +
             "<img src=\"file://C:\\icon_fold02.png\">\n" +
             "<img src=\"FILE://C:\\icon_fold03.png\">\n" +
             "\"FILE://C:\\icon_fold03.png\"\n" +
             "<img src=\"icon_fold04.png\">";
            String cid = img.replaceAll("\"(?i:file://[^\"]*\\\\)?([^\\\\\"]+)\"\\s*>", "\"cid:$1\">");
            System.out.println(cid);
        }
    }
    [/code]
      

  5.   

    js
    [code=JScrip]
    function changesrc(){
    var img=document.getElementsByTagName("img");
    var newpath="cid:";
    if(img){
    for(var i=0;i<img.length;i++){
    var s=img[i].src;
    var ss=s.split("/");
    newpath+=ss[ss.length-1];
    img[i].src=newpath;
    }
    }
    }
    [/code]