从一个html文件到另一个html文件的值
问题描述:
我在本地系统中有一些(xyz)html文件,它有一些整数值。 我创建了一个具有这些文件主要摘要的(abc)html文件。 我想在我的HTML文件中显示该整数值。我如何解析通过xyz html文件并存储到我的abc html文件中?从一个html文件到另一个html文件的值
<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%">
<tr>
<th>Files</th><th>Errors</th>
</tr>
<tr class="a">
<td>225</td><td>2294</td>
</tr>
</table>
这是一个内容我在我的某某HTML文件..我需要值225和2294,从这里提取。
答
您可以从您希望显示值的地方发出ajax请求。通过解析HTML,你可以得到特定领域
$.ajax({
url: "http://test.com/page1.html",
type: "GET",
dataType: "html",
success: function(data) {
var html = $.parseHTML(data);
var first = $(html).closest('.log').find('.a').find('td:eq(0)').html();
var second = $(html).closest('.log').find('.a').find('td:eq(1)').html();
alert(first+" "+ second);
}
});
值请参见解析HTML的Sample DEMO,只要你想
答
如果你正在寻找解析你的HTML代码,你可以做到这一点与几个服务器 - 侧脚本语言和JavaScript。
下面是与JS的解决方案:
<!DOCTYPE html>
<html lang="en">
<head>
<script type="text/javascript">
function loadPage(href){
var xmlhttp = new XMLHttpRequest();
xmlhttp.open("GET", href, false);
xmlhttp.send();
return xmlhttp.responseText;
}
function parseHTML(url){
var my_arr = [];
var el = document.createElement('div');
el.innerHTML = loadPage(url);
var table_row = el.document.getElementsByClassName("a");
for(var i=0; i<x.length; i++){
var new_arr = new Array();
my_arr.push(new_arr);
var r = x[i].getElementsByTagName('td');
for(var j=0; j<r.length; j++){
var new_val = r[j].innerHTML;
my_arr[i].push(new_val);
}
}
return my_arr;
}
</script>
</head>
<body onload="parseHTML('my_url_path');">
</body>
</html>
下面是用PHP和SimpleHTMLDOM一个解决方案:
<?php
$str = '<table class="log" border="0" cellpadding="5" cellspacing="2" width="100%"><tr><th>Files</th><th>Errors</th></tr><tr class="a"><td>225</td><td>2294</td></tr></table>';
$html = new simple_html_dom();
// Load from a string
$html->load($str);
$arr = array();
$iterator = 0;
// Loop over all the <tr> with a class ".a"
$table_rows = $html->find("tr.a");
foreach($table_rows as $tr){
$arr[$iterator] = array();
// Loop over all the <td> inside a <tr> with a class ".a"
$table_divisions = $tr->find("td");
foreach($table_divisions as $td){
$arr[$iterator][] = $td->innertext;
}
$iterator++;
}
?>
您需要下载库:
http://simplehtmldom.sourceforge.net/manual.htm
http://sourceforge.net/projects/simplehtmldom/files/
请记住,你需要PHP 5.0+
我因此未理解您的问题 – doniyor 2014-10-01 07:32:14
的东西你必须做一个Ajax请求,但我认为这是更好地使用JSON文件之类的东西,而不是HTML,如果它只包含一个整数 – 2014-10-01 07:34:18
绑定数据...然后你可以设置/获取/重新使用数据,而无需解析它 – nirajkumar 2014-10-01 07:37:34