我正在使用 Simple HTML DOM 从 HTML 文档中提取数据,并且有几个问题需要帮助。
在以我想分别提取href和锚节点的内容开头的行上
if ($td->find('a'))
,并将它们放在单独的变量中。但是该代码不起作用(请参阅下面代码中的回显输出)。做这个的最好方式是什么?请注意,我的目的是稍后根据这些信息创建一个 XML 文档,因此我需要以正确的顺序获取信息。
这些链接指向包含有关不同汽车的详细信息(例如“最大速度”、“价格”等)的页面,我还想提取这些信息并将其放入单独的变量中。如何获取这些页面上的数据?
<?php include 'simple_html_dom.php'; $html = new simple_html_dom(); $html = file_get_html('http://www.example.com/foo.html'); $items = array(); foreach ($html->find('table') as $table) { foreach ($table->find('tr') as $tr) { foreach ($tr->find('td') as $td) { if ($td->find('a')) { $link = $td->find('a.href'); echo $link; // empty $text = $td->find('a.text'); echo $text; // Array } else { echo 'Name: ' . $td; } } } }
HTML 文档如下所示:
<div>
<table>
<tr>
<td>
<a href="car1.html" target="_blank">Car 1</a>
</td>
<td>
Porsche
</td>
</tr>
<tr>
<td>
<a href="car2.html" target="_blank">Car 2</a>
</td>
<td>
Chrysler
</td>
</tr>
... and so on...