我想使用php domddocument从给定的URL获取一个完整的html表,其id ='myid'并将其打印到我们的网页上,我该怎么做?
我正在尝试使用以下代码来获取表格,但我无法获取trs(表格行)和tds(表格数据)以及其他内部HTML。
$xml = new DOMDocument();
@$xml->loadHTMLFile($url);
foreach($xml->getElementById('myid') as $table)
{
// now how to get tr and td and other element ?
// i am getting other element like :-
$links = $table->getElementsByTagName('a');
foreach($links as $innerAnchor)
{
//doing something with anchor tag...
}
}
需要帮助。
我是php domddocument的新手。
非常感谢。
答案 0 :(得分:4)
正如我评论的那样,最好不要使用getElementById。更好地分析我的测试样本;它的工作原理
$html = "<table ID='myid'><tr><td>1</td><td>2</td></tr><tr><td>4</td><td>5</td></tr><tr><td>7</td><td>8</td></tr></table>";
$xml = new DOMDocument();
$xml->validateOnParse = true;
$xml->loadHTML($html);
$xpath = new DOMXPath($xml);
$table =$xpath->query("//*[@id='myid']")->item(0);
// for printing the whole html table just type: print $xml->saveXML($table);
$rows = $table->getElementsByTagName("tr");
foreach ($rows as $row) {
$cells = $row -> getElementsByTagName('td');
foreach ($cells as $cell) {
print $cell->nodeValue; // print cells' content as 124578
}
}