2015-11-22 1 views
0

Я пытаюсь получить данные из HTML с помощью DOM. Я могу получить некоторые данные, но не могу понять, как получить остальное. Вот изображение, выделяющее данные, которые я хочу.Получение данных из HTML с использованием DOMDocument

http://i.imgur.com/Es51s5s.png

здесь код сам

http://pastebin.com/Re8qEivv

и вот мой PHP код

$html = file_get_contents('result.html'); 
$dom = new DOMDocument; 
$dom->loadHTML($html); 
$tr = $dom->getElementsByTagName('tr'); 

foreach ($tr as $row){ 

    $td = $row->getElementsByTagName('td'); 
    $td1 = $td->item(1); 
    $td2 = $td->item(2); 

    foreach ($td1->childNodes as $node){ 
     $title = $node->textContent;  
    } 

    foreach ($td2->childNodes as $node){ 
     $type = $node->textContent; 
    } 

} 

ответ

2

Фигурные его

$html = file_get_contents('result.html'); 
$dom = new DOMDocument; 
$dom->loadHTML($html); 
$tr = $dom->getElementsByTagName('tr'); 

foreach ($tr as $row){ 

    $td = $row->getElementsByTagName('td'); 
    $td1 = $td->item(1); 
    $td2 = $td->item(2); 

    $title = $td1->childNodes->item(0)->textContent; 
    $firstURL = $td1->getElementsByTagName('a')->item(0)->getAttribute('href'); 

    $type = $td2->childNodes->item(0)->textContent; 
    $imageURL = $td2->getElementsByTagName('img')->item(0)->getAttribute('src'); 

} 
0

Я использовал следующий класс. http://sourceforge.net/projects/simplehtmldom/

Это очень простой и простой в использовании класс.

Вы можете использовать

$html->find('#RosterReport > tbody', 0); 

найти конкретную таблицу

$html->find('tr') 
$html->find('td') 

, чтобы найти строки таблицы или столбцы

Примечание $ HTML переменная имеет полное содержание HTML DOM.

+0

Я пробовал, но изо всех сил, чтобы загрузить одну строку из таблицы. Он не мог загрузить одну строку. Это повесит мой браузер http://pastebin.com/1XGv4r3h –

+0

Можете ли вы показать мне код, тогда я могу вам помочь –

+0

Вот код HTML http://pastebin.com/Re8qEivv –