[]

[PHP] Uzun metindeki resim url'lerini listelemek

Merhaba arkadaşlar,

Uzunca metinle, video ve resim linklerinden kodlanmış bir HTML dosyasını PHP'de bir değişkene atayabiliyorum. Yalnız bana o değişkendeki sadece resim url'leri lazım. Bunu nasıl bir filtrelemeyle alabilirim?

Bir de resimlerin hepsi bir sitede değil, biri imageshack'ta öteki hizliresim'de, bir diğeri sitenin kendi server'ında falan barındırılıyor.

Benim istediğim şey ise bu resimleri bir diziye atayabilmek. Böyle bir şey mümkün mü onu bile bilmiyorum açıkçası. Yol gösterebilecek ya da fikir verebilecek olanlara şimdiden teşekkür ederim.

 
$dom = new DOMDocument();
$dom->recover = true;
$dom->strictErrorChecking = false;
@$dom->loadHTML($htmlicerendegisken);

$xpath = new DOMXPath($dom);
$resimler = $xpath->query('img');

sorunun tam cevabı için resimlerin html içerisinde ne olarak bulunduğunu bilmemiz gerekir, a tagı, img tagı hangisi? ayrıca resimlere ait ortak bir class filan var mı?

hatta html'den bir parça örnek verebilirsin.
  • ocanal  (15.06.12 19:58:15 ~ 19:59:04) 
Üstadım ilk olarak file get content ile memebase.com dan resim almayı istiyordum.


  • vito andolini  (15.06.12 21:13:50) 
Örnek HTML de burada: pastebin.com


  • vito andolini  (15.06.12 23:57:51) 
memeleri çekeceksen, ortak class -> "event-item-lol-image" buymuş. hemen aşağıdaki kodu yazıp denedim çalışıyor.

<?php

$result = file_get_contents("memebase.com");
$dom = new DOMDocument();
$dom->recover = true;
$dom->strictErrorChecking = false;
@$dom->loadHTML($result);

$xpath = new DOMXPath($dom);
$images = $xpath->query('//img[@class="event-item-lol-image"]/@src');

foreach($images as $image) {
echo $image->nodeValue."<br>";
}
?>


çıktı:

chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
chzmemebase.files.wordpress.com
  • ocanal  (16.06.12 00:13:57 ~ 00:14:14) 
Çok çok teşekkürler Ocanal. Kurtarıcı İsa Mesih'imsin :)


  • vito andolini  (16.06.12 00:35:47) 
1
buraya yazılanların hakları Sir Anthony Hopkins'e aittir.
yazan eden compumaster, ilgilenen eden fader
modere edenler angelus, Artibir, aychovsky, baba jo, basond, compumaster, deckard, duyulmasi gerektigi kadar, fader, fraise, groove salad, kahvegibi, kaymaktutmayansicaksut, kibritsuyu, monstro, pandispanya, robin, ron dennis
bu sitede yazılanların hiçbiri doğru değildir. site içeriği küçükler için sakıncalı olabilir. yazılardan yazarları sorumludur. kaynak göstermeden alıntılanamaz. devlet tarafından atanmış bir kurumun internet üzerinde kimin hangi bilgiye ulaşıp ulaşamayacağına karar vermesi insan haklarına aykırıdır. web siteleri kullanıcıların istekleri doğrultusunda bağlandıkları yerlerdir. kullanıcılar isterlerse bir web sitesine bağlanmayabilirler. bu güçleri ve imkanları mevcuttur. bir kullanıcı bir siteye bağlanmak istiyorsa bu onun tercihi ve hakkıdır. bağlanmak istemiyorsa bu yine onun tercihi ve hakkıdır. halkın kendisine hizmet etmesi için görevlendirdiği kurumlar hadlerini aşıp halka neye ulaşıp ulaşmayacağını bilmeyen cahil cühela muamelesi edemezler. ebeveynlerin çocuklarını sakıncalı içeriklerden koruması için çok sayıda bedava ve ücretli yazılım mevcuttur. bu yazılımlar bir web tarayıcısını kullanmaktan daha karmaşık teknik bilgi gerektirmemektedir. devletin milletini küçük düşürmesi ve ebleh yerine koyması yasaktır. Skimlinks ile linkler üzerinden yönlendirme payı alınmaktadır.