views:

71

answers:

1

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?

A: 

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.

jhurshman