2010-07-26 2 views
2

Я взламываю простой скрипт php, который будет создавать список фотоальбомов, которые у меня есть на моей странице поклонников Facebook.Очистить URL-адрес веб-сайта, чтобы получить путь к изображению

Facebook любезно предоставит Graph API, который дает мне хороший список альбомов, однако они больше не предоставляют путь к альбому по умолчанию.

Я хочу написать PHP-скрипт, который загружает URL-адрес альбома через curl и каким-то образом захватывает путь к первому изображению в таблице, содержащей миниатюры. Это будет значение «src» первого тега img, имеющего класс «UIPhotoGrid_Image».

Блок кода макета, который содержит хороший материал выглядит следующим образом:

<div id="album_container"> 
    <div class="UIPhotoGrid_Container UIPhotoGrid_DefaultPadding"> 
     <table class="UIPhotoGrid_Table" cellpadding="0" cellspacing="0"> 
      <tr> 
       <td class="UIPhotoGrid_TableCell"> 
        <a class="UIPhotoGrid_PhotoLink clearfix" href="http://www.facebook.com/photo.php?pid=5004658&amp;id=20785087272"><img class="UIPhotoGrid_Image img" src="http://photos-e.ak.fbcdn.net/hphotos-ak-snc4/hs080.snc4/35354_422883027272_20785087272_5004658_704231_s.jpg" onload="this.fb_loaded = true;" /></a> 
       </td> 
       <td class="UIPhotoGrid_TableCell"> 
        <a class="UIPhotoGrid_PhotoLink clearfix" href="http://www.facebook.com/photo.php?pid=5004659&amp;id=20785087272"><img class="UIPhotoGrid_Image img" src="http://photos-c.ak.fbcdn.net/hphotos-ak-snc4/hs080.snc4/35354_422883032272_20785087272_5004659_6158094_s.jpg" onload="this.fb_loaded = true;" /></a> 
       </td> 
       <td class="UIPhotoGrid_TableCell"> 
        <a class="UIPhotoGrid_PhotoLink clearfix" href="http://www.facebook.com/photo.php?pid=5004660&amp;id=20785087272"><img class="UIPhotoGrid_Image img" src="http://photos-f.ak.fbcdn.net/hphotos-ak-snc4/hs080.snc4/35354_422883037272_20785087272_5004660_1787119_s.jpg" onload="this.fb_loaded = true;" /></a> 
       </td> 
      </tr> 
     </table> 
    </div> 
</div> 

Это печально, это за пределами моих текущих возможностей кодирования ... Любые идеи?

ответ

1

Вы можете использовать phpsimpledom, чтобы захватить путь, используя синтаксис стиля jQuery.

Примечание: Facebook, вероятно, имеет несколько кластеров изображений, поэтому URL-адрес фотографии может меняться со временем.

0

У вас есть несколько возможностей:

1) элегантный один, вы делаете дерева DOM из вашего HTML образца и извлекать тег

2) менее элегантный, но эффективный, вы можете использовать регулярное выражение извлечь эту информацию

0

Вы можете вытащить источник сайта в строку с

$url = “http://www.foo.com”; 
    $str = file_get_contents($url); 

Без регулярного выражения, которое будет соответствовать вашим потребностям, могу только сказать, что в предыдущих опытах я использовал множество условных утверждений и в значительной степени полагался на substr(), однако это, вероятно, неразумно.

 Смежные вопросы

  • Нет связанных вопросов^_^