Use Match and then Replace in JavaScript Regex
Consider:
<%
content = ""+Request.Form("completehtml")+"";
开发者_如何学编程contentmatch = content;
contentmatch = contentmatch.match(/(<div class="content">[\s\S]+?)(?=[##])/ig);
%>
If I get the above match and it gives me some HTML: is it possible to find text in the match and to replace it again?
contentmatch = contentmatch.replace(/test/ig, 'working');
The problem I get with the replace is, that Internet Explorer says it is not supported. What is the reason?
<%
content = ""+Request.Form("completehtml")+"";
contentmatch = content;
contentmatch = contentmatch.replace(/>\s+?</ig, '><');
contentmatch = contentmatch.match(/(<div class="content">[\s\S]+?)(?=[##])/ig);
%>
OK it seems like I figured it out partly - If you do the replace before the match it seems to work, if you do it after the match is does not seem to work.
Is it possible to do a replace after the match?
Your line:
contentmatch = contentmatch.match(/(<div class="content">[\s\S]+?)(?=[##])/ig);
is replacing the contentmatch variable with the result of the match method. That result is an Array. Arrays do happen to have a replace method (in FF), but it does something different than the String method, which is what you want.
精彩评论