我有一个变量,该变量包含页面的整个html作为字符串值:

<html><head>
        <meta charset="utf-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script src="foo.js"></script>
        <link rel="stylesheet" href="foo.css">
    </head>
    <body>
        <div id="wrapper">

            <!-- MY PANEL -->

            <div id="edit-area"></div>

            <div id="my-panel">
                <ul class="menu menu-top">
                    <li>a</li>
                    <li>b</li>
                    <li>c</li>
                </ul>
                <ul class="menu menu-bottom">
                    <li>a</li>
                </ul>
                <pre id="code" contenteditable="true"></pre>
            </div>

            <!-- END MY PANEL -->

            <div id="original-content">

                <div style="border: 1px solid red; width: 100px; height: 100px"></div>

            </div>


        </div>

</body></html>


除了注释之间的内容,我需要将此值更改为所有值。我只需要这个:

<html><head>
        <meta charset="utf-8">
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
        <script src="foo.js"></script>
        <link rel="stylesheet" href="foo.css">
    </head>
    <body>
        <div id="wrapper">


            <div id="original-content">

                <div style="border: 1px solid red; width: 100px; height: 100px"></div>

            </div>

        </div>

</body></html>


我尝试了这个:

var regex = /<!-- MY PANEL -->.+?<!-- END MY PANEL -->/;
alert(my_variable.replace(regex, ''));


但是它只是通过注释之间的内容(而不是删除)来警告整个价值。

什么是实现此目标的正确方法?

最佳答案

result = subject.replace(/<!-- MY PANEL -->[\s\S]+?<!-- END MY PANEL -->/g, "");


让我们知道您是否需要更多帮助

10-06 11:35