Php DOMDocument如何从节点获取元素?

Php DOMDocument如何从节点获取元素?,php,parsing,domdocument,Php,Parsing,Domdocument,test.html $url = file_get_contents('test.html'); $DOM = new DOMDocument(); $DOM->loadHTML(mb_convert_encoding($url, 'HTML-ENTITIES', 'UTF-8')); $trs = $DOM->getElementsByTagName('tr'); foreach ($trs as $tr) { foreach ($tr->childNodes a

test.html

$url = file_get_contents('test.html');

$DOM = new DOMDocument();
$DOM->loadHTML(mb_convert_encoding($url, 'HTML-ENTITIES', 'UTF-8'));
$trs = $DOM->getElementsByTagName('tr');
foreach ($trs as $tr) {

    foreach ($tr->childNodes as $td){
        echo ' ' .$td->nodeValue;
    }
}
但是如何从td a获得链接呢

如何从
td
获取html


附言:我试着用
$td->find('a')
$td->getElementsByTagName('a')但它不起作用…

我对您的代码做了一点改进,这个版本对我来说很好:

1 test1 2 test2 3 test3

我对您的代码做了一些改进,这个版本对我来说很好:

1 test1 2 test2 3 test3
$DOM = new DOMDocument();
$DOM->loadHTML(mb_convert_encoding($url, 'HTML-ENTITIES', 'UTF-8'));
$trs = $DOM->getElementsByTagName('tr');
foreach ($trs as $tr) {
    foreach ($tr->childNodes as $td){
        if ($td->hasChildNodes()) { //check if <td> has childnodes
            foreach($td->childNodes as $i) {
                if ($i->hasAttributes()){ //check if childnode has attributes
                    echo $i->getAttribute("href") . "\n"; // get href="" attribute
                }
            }
        }
    }
}
test1.php
test2.php
test3.php