Php 使用DOM HTML获取值
我想获取HTML页面中第九个Php 使用DOM HTML获取值,php,dom,Php,Dom,我想获取HTML页面中第九个表元素的所有td 我从这个开始,但我不知道如何完成: define('GLPI_ROOT', '..'); $content = GLPI_ROOT . "/front/yourpage.html"; $dom = new DOMDocument(); @$dom->loadHTML($content); $xpath = new DOMXPath($dom); $attbs = $xpath->query("//table td"); fo
表
元素的所有td
我从这个开始,但我不知道如何完成:
define('GLPI_ROOT', '..');
$content = GLPI_ROOT . "/front/yourpage.html";
$dom = new DOMDocument();
@$dom->loadHTML($content);
$xpath = new DOMXPath($dom);
$attbs = $xpath->query("//table td");
foreach($attbs as $a) {
print $a->nodeValue;
}
我也试过这个,但没用:
$dom = new DOMDocument();
$dom->loadHTMLFile("yourpage.html");
$tables = $dom->getElementsByTagName('table');
$table = $tables->item(8);
foreach ($table->childNodes as $td) {
if ($td->nodeName == 'td') {
echo $td->nodeValue, "\n";
echo "<script type=\"text/javascript\"> alert('".$td->nodeValue."');</script>";
}
}
第一个不起作用,因为您似乎不了解XPath是如何工作的,但第二个可能是更好的选择
也就是说,
什么时候是
的第一级孩子?你可以在$table
上再次使用getElementsByTagName
,那会很好。tnks我的兄弟,你说((在$table上再次使用getElementsByTagName))你能写吗?plz,我想要的是通过表中的每个td
元素循环,并获取值。我得到这个错误:警告:DOMDocument::loadHTMLFile():htmlParseEntityRef:应为“;”在yourpage.html中的第33行,该错误表示您的html输入无效。很可能您有一个未被替换的&
。您能更具体一点吗?请看yourpage.html
中的第33行,您应该有一个&
,应该是&代码>
Warning: DOMDocument::loadHTMLFile(): htmlParseEntityRef: expecting ';' in yourpage.html, line: 33