首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

正则表达式 去除部分html有关问题

2013-03-06 
正则表达式 去除部分html问题html源代码如下:htmlheadmeta http-equivContent-Type contenttext

正则表达式 去除部分html问题
html源代码如下:

<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
    <title></title>
    <!--deletebegin-->
    <script src="../../../js/jquery-1.9.1.min.js" type="text/javascript"></script>
    <!-- deleteend-->
    <script src="../../../js/base.js" type="text/javascript"></script>
    <script type="text/javascript">
        function test() {
            $('#divAn').animate({ right: "50%" });
        }
        function test1() {
            $('#divAn').animate({ right: "50%" });
        }
        //deletebegin
        function test2() {
            $('#divAn').animate({ right: "50%" });
        }
        function test3() {
            $('#divAn').animate({ right: "50%" });
        }
        //deleteend
    </script>
</head>
<body>
    <div id="divAn" style="width: 100px; height: 100px; background-color: Red; right: 20px;
        position: absolute;">
    </div>
    <div>
        1111111</div>
    <div>
        222222</div>
    <div>
        3333333</div>
    <!--deletebegin-->
    <div>
        4444
        <div>
            55555</div>
    </div>
    <!--deleteend-->
    <input id="Button1" type="button" value="button" onclick="test();" />
</body>
</html>


要去除 "<!--deletebegin-->"和 "<!--deleteend-->"包含的任何html内容,以及"//deletebegin"和" //deleteend"包含的任何js函数.

用c#或者js的正则都行,谢谢各位帮助 html 正则表达式
[解决办法]

try:
Regex.Replace(html, @"(?<=<!--deletebegin-->).*(?=<!--deleteend-->)", "");
Regex.Replace(html, @"(?<=//deletebegin).*(?=//deleteend)", "");

[解决办法]
(?is)(?<=(<!--deletebegin-->
------解决方案--------------------


//deletebegin)).*?(?=(<!-- deleteend-->
[解决办法]
//deleteend))

Regex.Replace(html, @"(?is)(?<=(<!--deletebegin-->
[解决办法]
//deletebegin)).*?(?=(<!-- deleteend-->
[解决办法]
//deleteend))", "");
[解决办法]

var reg=/(<!--
[解决办法]
\/\/)\s*deletebegin\s*(-->)?[\s\S]*?\1\s*deleteend\s*\2/gi;
yourhtml=yourhtml.replace(reg,'');


替换后结果:
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
    <title></title>
    <!--deletebegin-->
    <script src="../../../js/jquery-1.9.1.min.js" type="text/javascript"></script>
    <!-- deleteend-->
    <script src="../../../js/base.js" type="text/javascript"></script>
    <script type="text/javascript">
        function test() {
            $('#divAn').animate({ right: "50%" });
        }
        function test1() {
            $('#divAn').animate({ right: "50%" });
        }
        //deletebegin
        function test2() {
            $('#divAn').animate({ right: "50%" });
        }
        function test3() {
            $('#divAn').animate({ right: "50%" });
        }
        //deleteend
    </script>
</head>
<body>
    <div id="divAn" style="width: 100px; height: 100px; background-color: Red; right: 20px;
        position: absolute;">
    </div>
    <div>
        1111111</div>
    <div>
        222222</div>
    <div>
        3333333</div>
    <!--deletebegin-->
    <div>
        4444
        <div>
            55555</div>
    </div>
    <!--deleteend-->
    <input id="Button1" type="button" value="button" onclick="test();" />
</body>


</html>


[解决办法]
            string pattern = @"(?is)(?<=<body.*?<!--deletebegin-->).*?(?=<!--deleteend-->)
[解决办法]
(?<=//deletebegin).*?(?=//deleteend)";

热点排行