我无法使用SourceForge的PHP Simple HTML DOM Parser 1.81解析表。我有PHP 7.1。我做了这个测试来解释我的问题。
我有这个html文件test.html:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
</head>
<body>
<div class="workers">
<table>
<tr>
<td>Bob</td>
<td>Plumber</td>
</tr>
<tr>
<td>Jane</td>
<td>Lawyer</td>
</tr>
</table>
</div>
</body>
</html>
这是我的PHP代码:
<?php
require('simple_html_dom.php');
// Create DOM from URL or file
$html = file_get_html('test.html');
// creating an array of elements
$table = $html->find('table',0);
foreach($table->find('tr') as $row) {
$rowKey = $row->find('td',0)->plaintext;
var_dump($row_key);
$value = $row->find('td',1)->plaintext;
var_dump($value);
echo "rowkey=".$rowkey;
echo "value=".$value;
echo "<br>";
}
?>
在我的示例中,我很难获取名为$ rowkey的行的第一个td的值。它返回null。
我将不胜感激。谢谢。
答案 0 :(得分:1)
您似乎正在使用rowKey
,row_key
和 rowkey
。我的建议是选择一个 变量名并坚持使用:-)
更严重的是,var_dump
和echo
都不会使用您设置的用于保存DOM引用的变量。相反,他们将使用某些 other 值,在这种情况下,该值似乎是未初始化的。
如果将它们全部更改为rowKey
(或者根据需要将其更改为其他),则应该可以正常工作。