C#正则表达式提取HTML 中 WINDOW.OPEN 地址 10
一段HTML代码如下,<html><head><metahttp-equiv="Content-Language"content="zh-cn"><metaname="G...
一段HTML代码如下,
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>批量调试用</title>
<script language="javascript">
function editit(id)
{
page = "adminadminedit.asp?adminid=" + id;
window.open(page, "AAAAAA");
}
</script>
<style>
body{FONT-FAMILY: 微软雅黑;}
.btn{width:80px; font-size:14px; height:28px;}
</style>
</HEAD><link rel="stylesheet" type="text/css" href="css/css.css">
<BODY >
<p><input id='btnClose' name='btnClose' type='button' value='退出系统' onclick='editit(75);' />
</BODY></html>
问题:提取出btnClose的onclice执行的函数editit(75),然后在上面的代码中提取出这个函数中window.open打开的URL地址,并且把函数中变量75代入。最后得到结果adminadminedit.asp?adminid=75 展开
<html>
<head>
<meta http-equiv="Content-Language" content="zh-cn">
<meta name="GENERATOR" content="Microsoft FrontPage 5.0">
<meta name="ProgId" content="FrontPage.Editor.Document">
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>批量调试用</title>
<script language="javascript">
function editit(id)
{
page = "adminadminedit.asp?adminid=" + id;
window.open(page, "AAAAAA");
}
</script>
<style>
body{FONT-FAMILY: 微软雅黑;}
.btn{width:80px; font-size:14px; height:28px;}
</style>
</HEAD><link rel="stylesheet" type="text/css" href="css/css.css">
<BODY >
<p><input id='btnClose' name='btnClose' type='button' value='退出系统' onclick='editit(75);' />
</BODY></html>
问题:提取出btnClose的onclice执行的函数editit(75),然后在上面的代码中提取出这个函数中window.open打开的URL地址,并且把函数中变量75代入。最后得到结果adminadminedit.asp?adminid=75 展开
1个回答
展开全部
string html = "这是你的html";
Match m1 = Regex.Match(html, @"onclick='editit\((\d+)\);'");
Match m2 = Regex.Match(html, "page\\s*=\\s*\"(adminadminedit.asp\\?adminid=)");
if (m1.Success && m2.Success) Console.WriteLine(m2.Groups[1].Value + m1.Groups[1].Value);
更多追问追答
追问
兄弟,上面的HTML代码是在一字符串变量里,程序事先只知道有ONCLICK 事件,并不知道具体执行的函数名称,有不知道这个函数要打开的页面是什么,就是说ONCLICK事件后的函数需要动态获取,WINDOW.OPEN打开的页面事先也并不知道。我打开这个页面后程序去判断,最后获取window.open的页面地址。
追答
如果你的意思是代码完全没有规律,那是不能用正则什么来处理的。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询