Php 解析HTML表并提取数据

Php 解析HTML表并提取数据,php,html,dom,xpath,Php,Html,Dom,Xpath,我发现这个话题: 这可能是我的问题的答案,我想做同样的事情-解析一些外部表,提取数据并将这些数据打印到我的网页上。 @Yoshi给出了完美的答案,但当我试图使用这段代码时,我得到的是空数组 数组() 我不知道为什么这样不行?我试图用同样的例子 <?php $dom = new DomDocument; $dom->loadHtmlFile('http://www.nbs.rs/kursnaListaModul/srednjiKurs.faces?lang=lat'); $xpath

我发现这个话题: 这可能是我的问题的答案,我想做同样的事情-解析一些外部表,提取数据并将这些数据打印到我的网页上。 @Yoshi给出了完美的答案,但当我试图使用这段代码时,我得到的是空数组

数组()

我不知道为什么这样不行?我试图用同样的例子

<?php
$dom = new DomDocument;
$dom->loadHtmlFile('http://www.nbs.rs/kursnaListaModul/srednjiKurs.faces?lang=lat');

$xpath = new DomXPath($dom);

// collect header names
$headerNames = array();
foreach ($xpath->query('//table[@id="index:srednjiKursLista"]//th') as $node) {
    $headerNames[] = $node->nodeValue;
}

// collect data
$data = array();
foreach ($xpath->query('//tbody[@id="index:srednjiKursLista:tbody_element"]/tr') as $node) {
    $rowData = array();
    foreach ($xpath->query('td', $node) as $cell) {
        $rowData[] = $cell->nodeValue;
    }

    $data[] = array_combine($headerNames, $rowData);
}

print_r($data);
?>

页面已更改,这就是代码不起作用的原因,此页面起作用:

include('simple_html_dom.php');
$dom = new DomDocument;
$dom->loadHtmlFile('http://www.nbs.rs/kursnaListaModul/srednjiKurs.faces?lang=lat');

$xpath = new DomXPath($dom);

// collect header names
$headerNames = array();
foreach ($xpath->query('//table[@id="index:srednjiKursLista"]//th') as $node) {
    $headerNames[] = $node->nodeValue;
}

// collect data
$data = array();
foreach ($xpath->query('//tbody[@id="index:srednjiKursList:tbody_element"]/tr') as $node) {
    $rowData = array();
    foreach ($xpath->query('td', $node) as $cell) {
        $rowData[] = $cell->nodeValue;
    }

    $data[] = array_combine($headerNames, $rowData);
}
echo "<pre>";
print_r($data);
echo "</pre>";

这将提取美元。

您是否检查了服务器的错误日志?在打开
后立即将错误报告添加到文件顶部,服务器日志中没有任何错误此标记不会给我任何错误
echo $data[15]['SREDNJI KURS'];