gpt4 book ai didi

php - 使用简单的 HTML DOM 遍历表格

转载 作者:行者123 更新时间:2023-12-04 16:44:53 24 4
gpt4 key购买 nike

我正在使用 Simple HTML DOM 从 HTML 文档中提取数据,但我有几个问题需要一些帮助。

  1. if ($td->find('a'))开头的那一行我想把href和 anchor 节点的内容分别提取出来,放在在单独的变量中。然而,该代码不起作用(请参阅下面代码中 echo 的输出)。

    最好的方法是什么?请注意,我的目的是稍后根据信息创建 XML 文档,因此我需要按正确顺序排列的信息。

  2. 链接指向的页面包含有关不同汽车的详细信息(例如“最高速度”、“价格”等),我也想将这些信息提取并放入单独的变量中。如何获取这些页面上的数据?

    <?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...

最佳答案

使用$td->find('a', 0)->href$td->find('a', 0)->innertext 来在第一种情况下访问元素属性,在第二种情况下访问内容。此外,如果可能会找到多个 anchor ,请使用 0 作为安全防护以始终找到第一个。

关于php - 使用简单的 HTML DOM 遍历表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13445371/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com