0

POST を 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は実際にWebスクレイピングに適したツールです。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 に答える