2015-05-29 3 views
0

У меня есть HTML-файл с несколькими таблицами, из которых я пытаюсь извлечь ссылку и часть изображения. Я использую PHP Simple HTML DOM Parser.Извлечение определенных частей HTML-файла с помощью PHP Простой HTML DOM Parser

Вот HTML-файл для анализа:

<h1>Title</h1> 
<p>Text</p> 

<table cellspacing="0" cellpadding="0" border="0"> 
    <tbody> 
     <tr><td> 
      <a href="http://www.google.com/some_url"> 
       <img width="100" height="100" border="0" src="http://google.com/some_image.jpg"/> 
      </a> 
     </td></tr> 
    </tbody> 
</table> 

<h2>Title</h2> 
<p>Text</p> 

<table cellspacing="0" cellpadding="0" border="0"> 
    <tbody> 
     <tr><td> 
      <a href="http://www.google.com/this_url"> 
       <img width="100" height="100" border="0" src="http://google.com/this_image.jpg"/> 
      </a> 
     </td></tr> 
    </tbody> 
</table> 

<p>Text</p> 
<p>Text</p> 

И что мне нужно как выход:

<a href="http://www.google.com/some_url"> 
    <img width="100" height="100" border="0" src="http://google.com/some_image.jpg"/> 
</a> 

<a href="http://www.google.com/this_url"> 
    <img width="100" height="100" border="0" src="http://google.com/this_image.jpg"/> 
</a> 

Вот PHP часть - но не работает так, как я хочу. ..

<?php 

// Include the library 
include('simple_html_dom.php'); 

// Retrieve the DOM from a given URL 
$html = file_get_html('http://google.com'); 

// Find all images & links 
foreach($html->find('img') as $IMGelement) 
foreach($html->find('a') as $Aelement) 
echo '<a href="' . $Aelement->href . '"><img src="' . $IMGelement->src . '" /><br>'; 

?> 
+0

Где вы используете простой PHP DOM Parser PHP? Я не вижу этого, выглядит как HTML. Я также не вижу здесь вопроса о проблеме, которую вы испытываете при разборе. – chris85

+0

Пожалуйста, найдите код PHP выше. Но это не работает так, как я хочу ... –

+0

Хорошо, а что происходит с текущим кодом, и что вы хотите? – chris85

ответ

1

Я думаю, что вы хотите найти IMG в теге:

foreach($html->find('a img') as $IMGelement) { 
    echo '<a href="' . $IMGelement->parent()->href . '"><img src="' .$IMGelement->src .'" /><br>'; 
} 
+0

Это генерирует список всех изображений, но без ссылки внутри «a href» -tag ... –

+0

@CorruptNetwork $ IMGelement-> parent() -> href показать ссылку очень хорошо – splash58

+0

Да, это работает! Большое спасибо! Есть ли способ извлечь только изображения/ссылки в определенных таблицах? У меня есть много других HTML-файлов в этом файле, которые мне не нужны (см. HTML выше). –