2010-01-05 40 views
0

考慮:使用匹配,然後替換JavaScript的正則表達式

<% 
     content = ""+Request.Form("completehtml")+""; 
     contentmatch = content; 
     contentmatch = contentmatch.match(/(<div class="content">[\s\S]+?)(?=[##])/ig); 
    %> 

如果我得到上面的比賽,這讓我有些HTML:是否有可能找到匹配的文本,並再次更換呢?

contentmatch = contentmatch.replace(/test/ig, 'working'); 

我用替換的問題是,Internet Explorer說它不受支持。是什麼原因?

<% 
     content = ""+Request.Form("completehtml")+""; 
     contentmatch = content; 
     contentmatch = contentmatch.replace(/>\s+?</ig, '><'); 
     contentmatch = contentmatch.match(/(<div class="content">[\s\S]+?)(?=[##])/ig); 
    %> 

OK好像我想通了部分 - 如果你這樣做似乎工作,如果你這樣做賽後的是似乎並沒有工作在比賽前替換。

是否有可能在比賽結束後進行替換?

+3

Reg3x cann0t解析HTM | _:http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 – 2010-01-05 19:46:42

+0

「這個問題我與替換是,IE說它不被支持?「 - >是否與莫西拉消防工作? – 2010-01-05 19:55:02

+0

是即使與Firefox – 2010-01-05 20:02:55

回答

0

你的線:

contentmatch = contentmatch.match(/(<div class="content">[\s\S]+?)(?=[##])/ig); 

與匹配方法的結果替換contentmatch變量。結果是一個數組。數組碰巧有一個替換方法(在FF中),但它與String方法有所不同,這就是你想要的。

相關問題