0

将帖子更改为来自 DOM 的 PHP 查询!

我正在尝试从网站中提取一些信息以将其放入表格中,然后用 PHP 打印出来。

我正在使用 DOM 解析器,因为它看起来正是我所需要的。

<?php

 include 'phpQuery.php';


 $file = "http://evolve.sg-community.de/index.php?page=plugins";
 phpQuery::newDocumentFileHTML($file);

 $rowData = array();  


 pq("table tr td")->each(function($i) { 
 $rowData[] = pq($i)->html();
 });
 echo "<pre>";
 print_r($rowData);
 echo "</pre>";

 ?> 

我不断得到:

解析错误:语法错误,意外的 T_FUNCTION,在第 12 行的内容中需要 ')'

 pq("table tr td")->each(function($i) { 
4

2 回答 2

0

是的,phpQuery 确实是一个更好的网络抓取工具。DOMDocument-parser 不适用于无效的 HTML。

于 2012-05-29T08:48:55.200 回答
0

使用phpQuery以更好的方式做到这一点:

$file = "http://evolve.sg-community.de/index.php?page=plugins";
phpQuery::newDocumentFileHTML($file);

$rowData = array();  
pq("#theTable tr td")->each(function($node) {
   $rowData[] = $node->nodeValue;
});
echo "<pre>";
print_r($rowData);
echo "</pre>";

另一种方法是:

foreach(pq("table:first-child tr td") as $td) {
   echo "<br>".$td->nodeValue;
   // examples
   // $td->tagName;  
   // $td->childNodes; 
}

似乎 phpquery 返回 DOM 元素。

于 2012-05-29T08:37:41.467 回答