• 06-10-2015, 20:54:59
    #1
    Merhaba sadece bir sayfadaki resimleri toplu şekilde alt alta yazdırmak istiyorum ama bir yerde hata yapıyorum. bu (.*?) herşeyi çekiyor..
    sadece resimleri çekmek için src="(.*?)"
    yazdıgımda çekmiyor.
    nerde hata yapiyorum acaba?

    $site = file_get_contents("x.com/a.htm");
    $aranan =(‘@<div class="sol">(.*?)</div>@si’);
    $resim = preg_match_all($aranan, $site, $ara);
    for($a=0; $a<$resim; $a++){
    $sonuc = $ara[1][$a];
    echo "$sonuc";
  • 06-10-2015, 23:00:21
    #2
    Merhaba,
    html'i bu şekilde regex'e sokmayın. DOMDocument class'ını kullanmanız daha sağlıklı olacaktır.

    yani kısaca
    $site = file_get_contents("x.com/a.htm");
    
    $dom = new DOMDocument;
    $dom->loadHTML($site);
    
    $images = $dom->getElementsByTagName('img');
    
    
    foreach ($images as $image) {
        print_r( $image->attributes->getNamedItem("src")->value);
    
    }

    kolaylıklar.


    Protex adlı üyeden alıntı: mesajı görüntüle
    Merhaba sadece bir sayfadaki resimleri toplu şekilde alt alta yazdırmak istiyorum ama bir yerde hata yapıyorum. bu (.*?) herşeyi çekiyor..
    sadece resimleri çekmek için ben oraya src="(.*?)"
    şeklinde yazdıgımda olmuyor..
    nerde hata yapiyorum acaba?

    $site = file_get_contents("x.com/a.htm");
    $aranan =(‘@<div class="sol">(.*?)</div>@si’);
    $resim = preg_match_all($aranan, $site, $ara);
    for($a=0; $a<$resim; $a++){
    $sonuc = $ara[1][$a];
    echo "$sonuc";
  • 07-10-2015, 11:50:58
    #3
    print_r($ara); yaparak çıkan sonuçlardan istediğin sonuç var mı bakarmısın?