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 }));
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 }));
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);樓主可以試試這個方法
<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>
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
}));
内容可能是任何一个网页的容。我意思是说:如何替换网页正常模式下能看到的字符。HTML里的所有属性参数都不能动。
"<><>"
这“两对标签”之间的内容都是可被替换内容!
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);樓主可以試試這個方法
<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>