如何使用PHP解析HTML表?

时间:2012-01-11 08:21:08

标签: php html

  

可能重复:
  How to parse and process HTML with PHP?

我需要使用PHP获取给定HTML表的第二列。我该怎么办?

参考文献:

要解析的表:http://bit.ly/Ak2xay

此表的HTML代码:http://bit.ly/ACdLMn

4 个答案:

答案 0 :(得分:14)

对于整洁的HTML代码,其中一种解析方法可以是DOM。 DOM将您的HTML代码划分为对象,然后允许您调用所需的对象及其值/标记名称等。

PHP HTML DOM解析的官方文档可在http://php.net/manual/en/book.dom.php

获得

为了在DOM实现之后找到给定表的第二个coloumn的值,可以完成:

<?php
$data = file_get_contents('http://mytemporalbucket.s3.amazonaws.com/code.txt');

$dom = new domDocument;

@$dom->loadHTML($data);
$dom->preserveWhiteSpace = false;
$tables = $dom->getElementsByTagName('table');

$rows = $tables->item(1)->getElementsByTagName('tr');

foreach ($rows as $row) {
        $cols = $row->getElementsByTagName('td');
        echo $cols[2];
}

?>

参考:自定义How to parse this table and extract data from it?提供的代码以符合此问题的要求。

答案 1 :(得分:0)

这可能对您有用,甚至有一些例子可以帮助您入门。

http://simplehtmldom.sourceforge.net/

答案 2 :(得分:0)

使用phpQuery http://code.google.com/p/phpquery/你可以做

$file = LINK OR NAME OF YOUR FILE
phpQuery::newDocumentFile($file);
$data = pq('UNIQUE COLUMN ID OR CLASS AS YOU WOULD FOR CSS ex: .class #id')->html();

echo $data.

答案 3 :(得分:-1)

也许看一下phpQuery:http://code.google.com/p/phpquery/
我没有自己使用它所以我不是100%确定它能做你想要的,但是因为它是一个服务器端的jQuery实现从DOM中选择,使用CSS选择器,我认为它可能对你有用情况下。