读书人

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

发布时间: 2013-03-06 16:20:31 作者: rapoo

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

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=GB2312" />
<title></title>
<!--deletebegin-->
<script style="max-width: 100%;height: auto;width: auto\9;" src="http://www.reader8.com/../js/jquery-1.9.1.min.js" type="text/javascript"></script>
<!-- deleteend-->
<script style="max-width: 100%;height: auto;width: auto\9;" src="http://www.reader8.com/../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 style="max-width: 100%;height: auto;width: auto\9;" src="http://www.reader8.com/../js/jquery-1.9.1.min.js" type="text/javascript"></script>
<!-- deleteend-->
<script style="max-width: 100%;height: auto;width: auto\9;" src="http://www.reader8.com/../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)";

读书人网 >C#

热点推荐