【问题标题】:How to match HTML header and footer如何匹配 HTML 页眉和页脚
【发布时间】:2016-08-09 20:44:22
【问题描述】:

我有以下脚本,我在其中解析整个 HTML 并绑定到一个 div(主页):

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 变量包含需要绑定到 div 主页的完整 HTML。

我如何编写另一个只获取&lt;HEADER&gt; 到&lt;/HEADER&gt; 和&lt;FOOTER&gt; 到&lt;/FOOTER&gt; 的正则表达式?

并将这两个部分绑定在两个 div 标签中?

如下所示:

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

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

【问题讨论】:

  • 我知道,但是我们这里有一个情况,因为我们正在尝试将CMS网站集成到外部网站,cms不支持集成到外部网站,因此需要解析和更改源并加载
  • @SmartestVEGA — 所以解析它。你已经在使用 jQuery,它会为你做这件事。
  • 我是怎么做到的,你能提供一些参考吗,我在网上查了一下,没有相关的
  • AFAIK,它应该被自动解析,除非 CMS 显示错误的内容类型,在这种情况下,您可以使用 dataType: "html" 强制它。

标签: javascript html regex parsing scripting


【解决方案1】:

你可以试试这个。

对于标题:

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

Regex Demo

对于页脚:

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

Regex Demo

【讨论】:

    【解决方案2】:
    /<HEADER>(\n.*)*<\/HEADER>/g
    

    应该可以解决问题。

    【讨论】:

      猜你喜欢
      • 2015-06-04
      • 2020-07-29
      • 2023-03-17
      • 1970-01-01
      • 2017-02-28
      • 2017-11-30
      • 2019-11-23
      相关资源
      最近更新 更多