有一个字符串
var html=" <img src='1.jpg' /> <img src='13.jpg' /> <img src='51.jpg' />"
要替换成这样该怎么写
html=" <img src='1.jpg' /> <p>图1</p> <img src='13.jpg' /> <p>图2</p><img src='51.jpg' /><p>图3</p>"

解决方案 »

  1.   

    不需要正则
    var arr = html.split(' ');
    var res = "";
    for(var i=0;i<arr.length;i++){
        res+=arr[i]+" <p>图"+(i+1)+"</p>";
    }
    alert(res);
      

  2.   


    var s = " <img src='1.jpg' /> <img src='13.jpg' /> <img src='51.jpg' />", c = 1, r;
    r = s.replace(/<img[^>]+>/g, function(a){return a + '<p>图' + c++ + '</p>'});
    alert(r);
      

  3.   

    var html=" <img src='1.jpg' /> <img src='13.jpg' /> <img src='51.jpg' />"
    var reg = /<img([^<]*)\/>/g;
    var i=0;
    var nh = html.replace(reg,function(str){
        i ++ ;
        return str + '<p>图'+i+'</p>'
    })
    console.log(nh);勉强实现了。。