需处理的如下内容
{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}处理后要得到如下代码
<a href="/uploads/allimg/110219/1-110219142110.jpg" target="_blank"><img src="/uploads/allimg/110219/1-110219142110-lp.jpg" /></a><a href="/uploads/allimg/110219/1-110219142111.jpg" target="_blank"><img src="/uploads/allimg/110219/1-110219142111-lp.jpg" /></a>谢谢大家

解决方案 »

  1.   

    [code=JScriptt]var str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";
    str = str.replace(/\{dede:(?!img)[^}]*}/gi, '');
    str = str.replace(/\{dede:img ddimg='([^']*)'[^}]*\}\s*([^{\s]*)\s*\{\/dede:img\}/gi, '<a href="$2" target="_blank"><img src="$1" /></a>');
    prompt('',str);
    [/code]
      

  2.   

    var str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";
    str = str.replace(/\{dede:(?!img)[^}]*}/gi, '');
    str = str.replace(/\{dede:img ddimg='([^']*)'[^}]*\}\s*([^{\s]*)\s*\{\/dede:img\}/gi, '<a href="$2" target="_blank"><img src="$1" /></a>');
    prompt('',str);
      

  3.   

    // or --> while / test
    var str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";
    var reg = /\{dede:img ddimg='([^']*)'[^}]*\}\s*([^{\s]*)\s*\{\/dede:img\}/gi;
    var txt = "";
    while(reg.test(str)){txt += '<a href="'+RegExp.$2+'" target="_blank"><img src="'+RegExp.$1+'" /></a>';}
    prompt('',txt)
      

  4.   

    郁闷放到dedecms的模板里 居然不能运行,我就是想用dedecms的sql标签把图集里的图片读取出来,太麻烦了
      

  5.   


    哦,你试试下面单独匹配图片地址的看看,不一定行。
    <script>
    var Str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";
    var str = "";
    Str.replace(/([\w*\/]{1,}[^\/]+jpg)[\S\s]*?([\w*\/]{1,}[^\/]+jpg)/gi, function($1,$2,$3) {
        str += '<a href="' + $3 + '" target="_blank"><img src="' + $2 + '"/></a>';
    });
    alert(str)
    </script>
      

  6.   

    Character postion 752, 'img' Error!出来的是这个是什么意思
      

  7.   

    只显示前5幅:
    <script>
    var Str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";
    var i = 0, str = "";
    Str.replace(/([\w*\/]{1,}[^\/]+jpg)[\S\s]*?([\w*\/]{1,}[^\/]+jpg)/gi, function($1,$2,$3) {
        i ++ < 5 && (str += '<a href="' + $3 + '" target="_blank"><img src="' + $2 + '"/></a>');
    });
    alert(str)
    </script>
      

  8.   

    是说你代码的第752个位置的字符 'img'错误,与正则表达式无关,因为匹配模式里面唯一的标识符只用了“jpg”,使用firebug调试定下位就知道怎么回事了。或许是因为前面帖子的字符串显示出来出现了断点。
    还是封装下变量的好:
    <script>
    var Str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";String.prototype.getImage = function(num) {
       var i = 0, str = "", num = num || 10000000000000;
       this.replace(/([\w*\/]{1,}[^\/]+jpg)[\S\s]*?([\w*\/]{1,}[^\/]+jpg)/gi, function($1,$2,$3) {
          i ++ < num && (str += '<a href="' + $3 + '" target="_blank"><img src="' + $2 + '"/></a>');
       })
       return str
    }
    alert(Str.getImage())
    </script>
      

  9.   

    似乎放到dedecms里还是不行,哪位朋友有dede的可以试下 放到他的模板下面看看能否运行,先谢谢楼上几位了
      

  10.   

    我把dede这样的字符改为de1de后 居然就可以,另外图片里可能有其他格式的图片,哪位给一个调用前5张,的代码,另外还要先把dede替换为de1de。大家帮帮忙,完了就结贴。
      

  11.   

    前5张一个很基本for循环计数
    var str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";
    var reg = /\{dede:img ddimg='([^']*)'[^}]*\}\s*([^{\s]*)\s*\{\/dede:img\}/gi;
    var txt = "";
    for (var i=0; i<5 && reg.test(str); i++)
    {
    txt += '<a href="'+RegExp.$2+'" target="_blank"><img src="'+RegExp.$1+'" /></a>';
    }
    alert(txt)
      

  12.   


    <script>
    var Str = "{dede:pagestyle maxwidth='800' pagepicnum='12' ddmaxwidth='200' row='3' col='4' value='3'/}{dede:img ddimg='/uploads/allimg/110219/1-110219142110-lp.jpg' text='333' width='150' height='150'} /uploads/allimg/110219/1-110219142110.jpg {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img} {/dede:img}{dede:img ddimg='/uploads/allimg/110219/1-110219142111-lp.jpg' text='44' width='150' height='150'} /uploads/allimg/110219/1-110219142111.jpg {/dede:img}";String.prototype.getImage = function(num) {
       var i = 0, str = "", num = num || 10000000000000, 
       reg = /([\w*\/]{1,}[^'"]+)['"][^\/]*?([\w*\/]{1,}[^\/]+)\s\{/g;
       this.replace(/(\{dede:)/gi, "{de1de:").replace(reg, function($1,$2,$3) {
          i ++ < num && (str += '<a href="' + $3 + '" target="_blank"><img src="' + $2 + '"/></a>');
       })
       return str
    }alert(Str.getImage(1)); // 调用前1张
    alert(Str.getImage(5)); // 调用前5张
    alert(Str.getImage(8)); // 调用前8张
    alert(Str.getImage());  // 调用全部图
    </script>
    BTW:“dede”是dedecms的关键保留词?给你替换了,是否管用不得而知,这与正则本身没有任何关系。
      

  13.   

    好像还是因为dede 这个要怎么解决啊