<script> 
 var str='<img  src="pic/upload001.gif"  width="90"  hight="60">';
 re=/(<img\s*src=\"(.*?)\"[^>]*>)/ig;
 str=str.replace(re,"<a href=\"$2\" target=\"_blank\">$1</a>");
 alert( str); </script>

解决方案 »

  1.   

    <textarea name=textarea1>
    我的文章系统里有图片,我如何在前台读取文章时,把文章内容里的每副图前加一个链接如:  
    <a  href="pic/upload001.gif"  target="_blank"><img  src="pic/upload001.gif"  width="90"  hight="60"></a>  
    第二是要判断  图片在文章录入时就有链接,就不加链接  
     
    请各位大侠指点迷津!!!
    <img  src="pic/upload001.gif"  width="90"  hight="60">
    </textarea> <script> 
     var str=textarea1.value;
     re=/(<img\s*src=\"(.*?)\"[^>]*>)(?!<\/a>)/ig;
     str=str.replace(re,"<a href=\"$2\" target=\"_blank\">$1</a>");
     alert( str); </script>
      

  2.   

    谢谢,你这个可是可以,但怎么实现?
    我的意思是怎么加上去呀,不要是显示alert
      

  3.   

    还有还有,请再赐招,就是可不可以不要那个textarea ,因为有时文章很长呀,文本框有滚动条呀.谢谢
      

  4.   

    <script>
    function test(str){
     var str=textarea1.value;
     re=/(<img\s*src=\"(.*?)\"[^>]*>)(?!<\/a>)/ig;
     str=str.replace(re,"<a href=\"$2\" target=\"_blank\">$1</a>");
     document.write(str);}
     </script>
     <body  onload="test()" >
    <textarea id=textarea1>
     我的文章系统里有图片,我如何在前台读取文章时,把文章内容里的每副图前加一个链接如:  
    <a  href="pic/upload001.gif"  target="_blank"><img  src="pic/upload001.gif"  width="90"  hight="60"></a>  
    第二是要判断  图片在文章录入时就有链接,就不加链接  
     
    请各位大侠指点迷津!!!
    <img  src="pic/upload001.gif"  width="90"  hight="60">
    </textarea> </body>
    大致的思路,你参考一下吧
      

  5.   

    思路是没错 可惜正则表达式错漏百出 而且根本不用这么麻烦只要这样就可以了function imglink()
    {
    var imgs = document.getElementsByTagName("img");
    for(var i=0;i<imgs.length;i++)
    {
    imgs[i].onclick = function(){window.open(this.src);}
    }
    }
      

  6.   

    如果是ie更可以这样
    function imglink()
    {
    var imgs = document.getElementsByTagName("img");
    for(var i=0;i<imgs.length;i++)
    {
    var link = document.createElement("a");
    link.href = imgs[i].src;
    imgs[i].applyElement(link,"outside");
    }
    }
      

  7.   

    哦少了一个属性
    link.href = imgs[i].src;
    后面加个
    link.target = "_blank";
      

  8.   

    楼上的,请再说清楚一点行么?我刚试了jinjuduo() 的方法,但是在ASP中不行呀,在html中是可以
    我要的是在<img>前加<a href="**" title="" class=style001> 而不只单单要打开新窗口
    就是说一定要在没有链接的图片前加 <a href
      

  9.   

    谢谢楼上的指教。
    在javascript dom编程艺术中有类似的用法
    可以英文不太好,没有理解深刻。
      

  10.   

    re=/(<img\s*src=\"(.*?)\"[^>]*>)(?!<)/ig;
    str=str.replace(re,"<a href=\"$2\" title="" class=style001>$1</a>");
      

  11.   

    我的文章内容处代码是:              <TD height="18" valign="top" id="fontzoom" style="WORD-BREAK: break-all;">
    <textarea id=textarea1>
    <%call ShowContent()%>
                      </textarea>
                 </TD>
               
    我试了楼上的方法,不行哦
      

  12.   

    我写的代码是js的,如果变成asp的
    我也不太懂了,不好意思
      

  13.   

    re=/(<img\s*src=\"(.*?)\"[^>]*>)(?!<)/ig;
    首先 <img\s*src 
    如果src不是img的第一个属性就会出错
    例如
    <img id="xx" src=第二 src=\"(.*?)\"
    src = 'xxx.jpg' 
    等号前后 有空格的情况没有分析 如果等号前后带空格就出错
    而且包住xxx.jpg的可能是 " ' 或 空 你上面的表达式也没判断我写个给你
    (<img[^>]*src\s*=\s*["']?([^'"\s>]*)[^>]*>)....
      

  14.   

    我真是功底太浅了,再问一下gzdiablo
    你的方法可是可以,但有两个问题,
    1,我只要文章内容部份的图片加链接,而不是整个页面里的
    2,图片加了链接就有个外框,怎么解决?谢谢
      

  15.   

    function imglink()
    {
    var imgs = document.getElementById("fontzoom").getElementsByTagName("img");
    for(var i=0;i<imgs.length;i++)
    {
    imgs.style.cursor="hand";
    imgs[i].onclick = function(){window.open(this.src);}
    }
    }这个没外框
      

  16.   

    var imgs = document.getElementById("fontzoom").getElementsByTagName("img");
    这样就是取 文章里面的图片
      

  17.   

    受益非浅! 感谢gzdiablo , jinjuduo!  谢谢你们的帮助!