PHP başka siteden çekilen linkleri array içinde nasıl listeleyebilirim?
PHP başka siteden çekilen linkleri array içinde nasıl listeleyebilirim?
Soru hatalı mı? 👎
Eğer sorunun kurallara aykırı olduğunu düşünüyorsanız lütfen bize bildirin!
Cevaplar (4)
Aşağıdaki kod ile DOMDocument sınıfını kullanarak sayfada bulunan img etiketindeki src'de bulunan resim yollarını alabiliyoruz.
Ancak ufak bir sorun mevcut: img etiketinin src kısmında ne yazıyor ise onu çekiyor. Yani örneğin src="/img/logo.png" şeklinde yazıyorsa sadece "/img/logo.png" şeklinde alabiliyoruz.
// Hedef site url
$site = 'https://www.example.com';
// Site içeriğini çekiyoruz
$html = file_get_contents($site);
// DOMDocument kullanarak resim linklerini bulalım
$dom = new DOMDocument();
@$dom->loadHTML($html); // @ kullanmamız hataları bastırmak için, HTML parse edilirken bazı hatalar olabilir.
$imageLinks = array();
foreach ($dom->getElementsByTagName('img') as $img) {
$src = $img->getAttribute('src');
$imageLinks[] = $src;
}
// Sonuçları görmek için dizi içeriğini yazdırabilirsiniz:
print_r($imageLinks);
Ek olarak yukarıdaki kod sayfada bulunan img etiketindeki tüm resim yollarını çekiyor, belirli bir kısmı almıyor. Kodu kendine göre düzenlemelisin.
Bir site var ve ordan kendi siteme resimlerin linklerini alıp listelemek istiyorum ama ekrana yazmayacak ben onları array() olarak almak istiyorum yani istedğim zaman $a[1] falan yapıp kullanabilmeliyim.
örnek:
Array{
[0] => 'www.site.com/1.png',
[1] => 'www.site.com/2.png',
}
gibi gelmeli bana.