【发布时间】:2012-02-07 15:03:17
【问题描述】:
【问题讨论】:
-
是的,得到一个列数组
-
@everyone 将此标记为重复...我在该页面上看不到任何有关解析 html TABLES 的信息。需要详细说明吗?
【问题讨论】:
这可能对您有用,甚至还有一些示例可以帮助您入门。
【讨论】:
也许看看 phpQuery:http://code.google.com/p/phpquery/?
我自己没有使用过它,所以我不能 100% 确定它是否符合您的要求,但由于它是 jQuery 的服务器端实现,可以从 DOM 中选择,使用 CSS 选择器,我认为它可能对您有用案例。
【讨论】:
对于整洁的 HTML 代码,其中一种解析方法可以是 DOM。 DOM 将您的 HTML 代码划分为对象,然后允许您调用所需的对象及其值/标签名称等。
PHP HTML DOM 解析的官方文档可在http://php.net/manual/en/book.dom.php获取
为了查找给定表的第二列的值,可以执行以下 DOM 实现:
<?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?提供的代码以匹配本题的需求。
【讨论】:
使用 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.
【讨论】: