1

我需要从网站获取内容

我需要得到

/html/body/div/div[2]/table/tbody/tr/td/div/div[2]/form/fieldset[2]/table[2]

或者

<table class='properties'>

代码在这里可见:http: //paste.pocoo.org/show/347881/

内容,所有内容都在新行上格式化。我不关心填充和其他格式,我只想保留新行。

例如,正确的输出将是

tájékoztató
az eljárás eredményéről
A Közbeszerzések Tanácsa (Szerkesztőbizottsága) tölti ki
A hirdetmény kézhezvételének dátuma____________________
KÉ nyilvántartási szám_________________________________
I. SZAKASZ: AJÁNLATKÉRŐ
I.1) Név, cím és kapcsolattartási pont(ok) 

我面临的问题是新行与div一起引入并且无法获取。

更新

这由 PHP cron 执行,因此无法访问 JS。

4

2 回答 2

4

有一个库叫做phpQueryhttp ://code.google.com/p/phpquery/

你可以像这样遍历 DOM 对象jQuery

phpQuery::newDocument($htmlCode)->find('table.properties');

在机加工元素的内容火上strip_tags,您将获得该表的纯内容。

于 2011-03-04T09:40:16.573 回答
2

诀窍是在 xpath 表达式中获取内部 div,然后使用它们的 textContent 属性:

<?php

$domd = new DOMDocument();
libxml_use_internal_errors(true);
$domd->loadHTML(file_get_contents("..."));
libxml_use_internal_errors(false);

$domx = new DOMXPath($domd);
$items = $domx->query("/html/body/div/div[2]/table/tr/td/div/div[2]/form/fieldset[2]/table[2]/tr/td/div//div/div[@style='padding-left: 0px;']");

$output = "";
foreach ($items as $item) {
  $output .= $item->textContent . "\n";
}

echo $output;
于 2011-03-04T09:53:15.397 回答