Php DOMDocument如何从节点获取元素?
test.htmlPhp 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
$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