var x = "<a href='aaa.jpg'> abc </a> ";
var reg = /(<[^>]+>)([^<>]+)?(<[^>]+>)?/gm;
alert(x.replace(reg,function(a,b,c,d){
return b + c.replace(/a/g,"b") + d
}));

解决方案 »

  1.   


    var x = "<a href='aaa.jpg'> abc </a> ";
    var reg = /(<[^>]+>)([^<>]+)?(<[^>]+>)?/gm;
    alert(x.replace(reg,function(a,b,c,d){
    return b + c.replace(/a/g,"b") + d
    }));
      

  2.   

    我晕.我只是举个例子内容是:<a href="aaa.jpg"> abc </a>
    内容可能是任何一个网页的容。我意思是说:如何替换网页正常模式下能看到的字符。HTML里的所有属性参数都不能动。
      

  3.   

    应该理解为
    "<><>"
    这“两对标签”之间的内容都是可被替换内容!
      

  4.   

    <a href="aaa.jpg" id="test1"> bbc </a> var test1Obj = s.document.getElementById('test1');test1Obj.innerHTML =  test1Obj.innerHTML.replace(new RegExp(a,"gm"),b);
      

  5.   

    TO:LZ,别晕。我也只是给你个思路。你要不能举一反三,就当我什么都没说。毕竟是你的事,不是我的事。btw,俺对分数兴趣不大。
      

  6.   


        var a = />[^<]*a[^<]*</ig;
        var b = '<a href="aaa.jpg">abc</a><span id="aab">aacc</span>';
        var c = '';
        var last = '';
        var find = a.exec(b);    while (find != null)
        {
            var aa = />[^<]*a[^<]*</ig;
            last = RegExp.rightContext;
            c += RegExp.leftContext + find[0].replace(/a/ig, 'b');
            find = aa.exec(last);
        }
        
        c += last;
        alert(b + '\n' + c);樓主可以試試這個方法
      

  7.   


    <script language="JavaScript">
    <!--var a = "a";
    var b = "b";var c = '<a href="aaa.jpg"> abc </a>';var reg = /<(.*) .*>(.*)<\/\1>/ig;
    var reg1 = /<(.*) .*>(.*)<\/\1>/ig;
    if (reg.test(c)) {
    var d = c.replace(reg, "$2");
    d = d.replace(/a/g, "b"); var s = reg1.exec(c);
    var e = c.replace(RegExp.$2, d);
    alert(e);
    }
    //-->
    </script>