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

Üstadım ilk olarak file get content ile memebase.com dan resim almayı istiyordum.

vito andolini

Örnek HTML de burada: pastebin.com

vito andolini

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

Çok çok teşekkürler Ocanal. Kurtarıcı İsa Mesih'imsin :)

vito andolini
1

mobil görünümden çık