2016-04-18 139 views
0

我有以下腳本,我在那裏解析整個HTML並綁定到一個div(主頁):如何搭配HTML頁眉和頁腳

function htmlResponse() { 
    var res = ""; 
    debugger; 
    $.ajaxPrefilter(function (options, originalOptions, jqXHR) { 
     options.async = true; 
    }); 
    $.ajax({ 
     url: "http://localhost:1469/Home.aspx", 
     success: function (result) { 
      res = result; 
      res = res.replace(/\/CMSPages\/GetResource\.ashx/g, 'http://localhost:1469/CMSPages/GetResource.ashx'); 
      res = res.replace(/\/WebResource\.axd/g, 'http://localhost:1469/WebResource.axd'); 
      res = res.replace('<ul>', '<ul class="fallback browse-experience-drop-down-width">'); 

      $("#homePage").html(res); 
     } 
    }).done(function() { 

    }); 
}; 

res變量包含完整的HTML這就需要將結合到div的主頁。

如何我可以寫另一個正則表達式,它只能獲取<HEADER>直到</HEADER><FOOTER>直到</FOOTER>

並在兩個div標籤中綁定這兩個部分?

類似下面:

header = res.regex("REGEX FOR FETCHING HEADER"); 
footer = res.regex("REGEX FOR FETCHING FOOTER"); 

       $("#HEADER").html(header); 
       $("#FOOTER").html(footer); 
+3

[不解析與正則表達式的HTML!(HTTP://計算器。 com/a/1732454/418066) – Biffen

+0

我知道,但我們在這裏有一種情況,因爲我們正在嘗試將CMS網站集成到外部網站,該CMS不會支持與外部網站的集成,因此需要解析並更改源代碼並加載 – SmartestVEGA

+1

@SmartestVEGA - 因此*解析它。你已經在使用jQuery,它會爲你做到這一點。 – Quentin

回答

1

你可以試試這個。

對於標題:

/<(?:HEADER|header)>([\s\S]*?)<\/(?:HEADER|header)>/g 

Regex Demo

對於頁腳:

/<(?:footer|FOOTER)>([\s\S]*?)<\/(?:footer|FOOTER)>/g 

Regex Demo

1
/<HEADER>(\n.*)*<\/HEADER>/g 

應該做的伎倆。