• 07-08-2014, 00:34:38
    #1
    Üyeliği durduruldu
    <div class="img-container">
    <div class="preview single" style="top: 0px; left: -5px; display: none;"><img src="x" style="width: 630px; height: 450px;"></div>
    <div class="preview dual" style="top: 0px; left: -40px; display: block;"><img src="x" longdesc="xg" style="width: 350px; height: 450px;"><img src="x" longdesc="x" style="width: 294px; height: 450px;"></div>
    <div class="preview dual" style="top: 0px; left: 10px; display: none;"><img src="x" longdesc="x" style="width: 300px; height: 450px;"><img src="x" longdesc="x" style="width: 338px; height: 450px;"></div>
    <div class="preview single" style="top: 2.5px; left: 141px; display: none;"><img src="x" longdesc="x" style="width: 338px; height: 450px;"></div>
    <div class="zoom single" style="top: 0px; left: -6px; display: none;"><img src="x" longdesc="x" style="width: 953px; height: 680px;"></div>
    			<div class="loader" style="opacity: 0.5; display: none;"><img src="/website/file/img/ani_loader_big2.gif" xtyle="position:absolute; left:-20px; top:0px;"></div>
    			<a href="#" class="browse-prev">&nbsp;</a>
    			<a href="#" class="browse-next">&nbsp;</a>
    			<a href="#" class="zoom s"></a>
    		</div>
    Buradaki resimleri preg_matchle çekmek için şunu yazdım ama çekmiyor. Hata nerde?

    preg_match_all('#<div class="img-container"><div class="(.*?)" style="(.*?)"><img src="(.*?)" longdesc="(.*?)" style="(.*?)"></div></div>#', $urunVeri, $resimler);
  • 07-08-2014, 01:54:16
    #2
    bu şekilde dener misiniz ?

    preg_match_all('@<img src="(.*?)"@si', $urunVeri, $resimler);
  • 07-08-2014, 02:05:13
    #3
    Sadece Resim Linkleri Lazımsa Bu Kod işinizi görecektir..

    Kod veri bloğuna sorunsuz Uygulandı Çalışmaktadır..
    $veri='<div class="img-container">
    <div class="preview single" style="top: 0px; left: -5px; display: none;"><img src="r10.net/resim1.jpg" style="width: 630px; height: 450px;"></div>
    <div class="preview dual" style="top: 0px; left: -40px; display: block;"><img src="r10.net/resim2.jpg" longdesc="xg" style="width: 350px; height: 450px;"><img src="x" longdesc="x" style="width: 294px; height: 450px;"></div>
    <div class="preview dual" style="top: 0px; left: 10px; display: none;"><img src="r10.net/resim3.jpg" longdesc="x" style="width: 300px; height: 450px;"><img src="x" longdesc="x" style="width: 338px; height: 450px;"></div>
    <div class="preview single" style="top: 2.5px; left: 141px; display: none;"><img src="r10.net/resim4.jpg" longdesc="x" style="width: 338px; height: 450px;"></div>
    <div class="zoom single" style="top: 0px; left: -6px; display: none;"><img src="x" longdesc="x" style="width: 953px; height: 680px;"></div>
    			<div class="loader" style="opacity: 0.5; display: none;"><img src="/website/file/img/ani_loader_big2.gif" xtyle="position:absolute; left:-20px; top:0px;"></div>
    			<a href="#" class="browse-prev">&nbsp;</a>
    			<a href="#" class="browse-next">&nbsp;</a>
    			<a href="#" class="zoom s"></a>
    		</div>';
    
    preg_match_all('#<div class="preview(.*?)"><img src="(.*?)"(.*?)"></div>#', $veri, $resimler);
    print_r($resimler[2]);
  • 07-08-2014, 02:09:11
    #4
    Üyeliği durduruldu
    Sadece kaynak koddaki belirttiğim alandaki resimleri almam lazım? Siteden çekeceğim bu verileri.
  • 07-08-2014, 08:12:30
    #5
    Hata olasılığını azaltmak için esnek kodlamanızda fayda var. Tek satır kod ile problem giderilebilir ama aşağıdaki gibi sırasıyla işlemleri yaptırmanın daha sağlıklı olduğu düşüncesindeyim. Aşağıdaki kod işinizi muhtemelen görecektir.
    $icerik = file_get_contents('http://kaynak');
    preg_match('@<div class="img-container">(.*?)class="zoom s"@si',$icerik,$img_con);
    preg_match_all('@img src="(.*?)" longdesc="(.*?)"@si',$img_con[1],$images);
    for ($i=0;$i<count($images[1]);$i++) {
    echo $images[1][$i].'<br>';
    }
  • 07-08-2014, 08:47:54
    #6
    Üyeliği durduruldu
    Dogukan adlı üyeden alıntı: mesajı görüntüle
    Hata olasılığını azaltmak için esnek kodlamanızda fayda var. Tek satır kod ile problem giderilebilir ama aşağıdaki gibi sırasıyla işlemleri yaptırmanın daha sağlıklı olduğu düşüncesindeyim. Aşağıdaki kod işinizi muhtemelen görecektir.
    $icerik = file_get_contents('http://kaynak');
    preg_match('@<div class="img-container">(.*?)class="zoom s"@si',$icerik,$img_con);
    preg_match_all('@img src="(.*?)" longdesc="(.*?)"@si',$img_con[1],$images);
    for ($i=0;$i<count($images[1]);$i++) {
    echo $images[1][$i].'<br>';
    }
    @Dogukan; ın dedigi gibi ilk olarak resimlerin hangi aralıklarda oldugunu alıp daha sonra o aralık içerisinden resimleri alırsanız hata payınız olmaz yazdıgı kod gayet saglıklı çalışır.
  • 08-08-2014, 14:47:37
    #7
    Üyeliği durduruldu
    Alıntı
    preg_match('#<div class="leftmenu">(.*?)</div></div>#si', $kategoriVeri, $cek);
    preg_match_all('/<div class=\"otstup_1\">(.*?)<\/div>/s', $cek[1], $menuler);
    preg_match_all('/<a href=\"(.*?)\" class=\"link_left_menu\" onfocus=\"this.blur()\">(.*?)<\/a>/s', $menuler, $link);
    print_r($link);
    Böyle kullandığımda;

    Alıntı
    Warning: preg_match_all() expects parameter 2 to be string, array given i
    $menuler[1] yapinca da aynı ama; $menuler[1][0] yapınca çalışıyor. Boş dizi döndürüyor. Nerde hata yapıyorum? Anlamadığım ne var? Kullanılacak regular expression'ları nerden bulabilirim preg match için? Aradım ancak herkes farklı şeyler yapıyor. @si \si #si gibi, farklı işaretler, farklı regexler. Ancak en doğrusunu nasıl bulabilirim?

    PHPNet'in örneklerine baktığımda çok rahat bir şekilde divin içindekileri diziye koyup sıralayabiliyor başındaki regex sayesinde

    Alıntı
    preg_match_all("/(<([\w]+)[^>]*>)(.*?)(<\/\\2>)/",
    $html, $eşleşenler, PREG_SET_ORDER);
    Bunun gibi. Bu işime yarar mı? :/
  • 08-08-2014, 15:08:21
    #8
    Kimlik doğrulama veya yönetimden onay bekliyor.
    @Xhenahobia; bu konumu inceleyebilir misin? İşini kolaylaştıracağını düşünüyorum.
  • 08-08-2014, 15:20:44
    #9
    Üyeliği durduruldu
    saintx adlı üyeden alıntı: mesajı görüntüle
    @Xhenahobia; bu konumu inceleyebilir misin? İşini kolaylaştıracağını düşünüyorum.
    bu Laravel ile kullanılmıyor mu sadece? WordPress için yazıyorum ben ama? Sunucuya sadece composer kurup çaliştirabilecek miyiz bu kodu wp ile?