• 04-06-2009, 14:41:22
    #1
    Arkadaşlar haberler.com için bot yazıyorumda kategorilerden en son haberleri alıcak her bir haber şöyle blokta bulunuyor

    <td width="100" valign="top" style="padding-left:5px;padding-right:5px;">
     
            
    <div style="white-space:wrap;width:100px;owerflow:hidden;font-size:9pt;">
    
    <a href="/boya-deposunda-yangin-cikti-haberi/"><img src="http://resimler.haberler.com/haber/877/boya-deposunda-yangin-cikti_k.jpg" style="border: 1px solid #D3D3D3" alt="Boya Deposunda Yangın Çıktı"></a>
    
    <div style="padding-top:2px;padding-bottom:2px;">
    <a href="/boya-deposunda-yangin-cikti-haberi/" style="color:#0D53B2;font-size:11pt;"><b>Boya Deposunda Yangın Çıktı</b><br></a>
    </div>
    İstanbul Tuzla'da Faaliyet Gösteren Boya Fabrikasının Deposunda Çıkan Yangın Büyük Maddi Hasara Yol Açtı. Kontrol Alt...
    </div>
    </td>
    Bütün haberler aynı bu bloklarda bulunuyor bende onun için bi kod yazdım

    <?php
    $vericek=file_get_contents("http://www.haberler.com/guncel/");
    preg_match_all('#<div style="(.*?)">
    
    <a href="(.*?)"><img src="(.*?)" style="border: 1px solid #D3D3D3" alt="(.*?)"></a>
    
    <div style="padding-top:2px;padding-bottom:2px;">
    <a href="(.*?)" style="color:#0D53B2;font-size:11pt;"><b>(.*?)</b><br></a>
    </div>
    (.*?)
    </div>
    #si',$vericek,$bilgi,PREG_SET_ORDER);
    ?>
    Ama şu hatayı verdi;

    Warning:  preg_match_all() [function.preg-match-all]: Unknown modifier '3' in C:\xampp\htdocs\Botlar\haberler.php on line 12
    bu nedemek ?


    Tamam Arkadaşlar # lerin başına \# koymak gerekiyormuş takılan varsa böyle yapsın oda.
  • 04-06-2009, 14:54:07
    #2
    Üyeliği durduruldu
    ben şahsen senin yerinde olsam her alacagim yeri ayri ayri çekerdim

    sadece

    <img src="(.*?)" style="border: 1px solid #D3D3D3" alt="(.*?)">

    için ayri diğerileri için ayri gibi
  • 04-06-2009, 14:56:48
    #3
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    ben şahsen senin yerinde olsam her alacagim yeri ayri ayri çekerdim
    sadece
    <img src="(.*?)" style="border: 1px solid #D3D3D3" alt="(.*?)">
    için ayri diğerileri için ayri gibi
    İlk başta hepsini almaya çalışıyorum alamazsam parçalıyorum öyle çok karışıyor.
  • 04-06-2009, 15:04:35
    #4
    Hocam bu PREG_SET_ORDER , PREG_PATTERN_ORDER , PREG_OFFSET_CAPTURE nedir ?
    php.netten baktımda pek bişe anlamadım.
    Konu amacına ulaşmış yeni konu açmadan bu konuyla alakalı olduğu için soruyum dedim
  • 04-06-2009, 15:13:48
    #5
    Ya şimdi hata vermedide veride alıyor 48 tane buldum diyor bu şartlara uyan tamam orası doğru zaten GUNCEL guncel haberleri haber haberi bu sayfada 48 tane haber var tamam doğru ama foreach ile aldımğımda ekrana bişey basmıyor 48 yazıyor sadece kodlara baktığınızda $haberc[1] in href="" kısmına geldiğini görürsünüz yan url yi almak istiyorum ama almıyor ya hatada vermiyor nerde hata yapmışım


    <?php
    $vericek=file_get_contents("http://www.haberler.com/guncel/");
    echo preg_match_all('#<div style="padding-top:2px;padding-bottom:2px;">
    <a href="(.*?)" style="color:\#0D53B2;font-size:11pt;">(.*?)</a>
    </div>
    (.*?)
    </div>
    #si',$vericek,$bilgi,PREG_SET_ORDER);
    
    foreach($bilgi as $haberc) {
        $haberc[1];
        echo "<br />";
    }
    
    
    ?>
  • 04-06-2009, 15:20:52
    #6
    tolgay007 adlı üyeden alıntı: mesajı görüntüle
    Ya şimdi hata vermedide veride alıyor 48 tane buldum diyor bu şartlara uyan tamam orası doğru zaten GUNCEL guncel haberleri haber haberi bu sayfada 48 tane haber var tamam doğru ama foreach ile aldımğımda ekrana bişey basmıyor 48 yazıyor sadece kodlara baktığınızda $haberc[1] in href="" kısmına geldiğini görürsünüz yan url yi almak istiyorum ama almıyor ya hatada vermiyor nerde hata yapmışım
    <?php
    $vericek=file_get_contents("http://www.haberler.com/guncel/");
    echo preg_match_all('#<div style="padding-top:2px;padding-bottom:2px;">
    <a href="(.*?)" style="color:\#0D53B2;font-size:11pt;">(.*?)</a>
    </div>
    (.*?)
    </div>
    #si',$vericek,$bilgi,PREG_SET_ORDER);
    foreach($bilgi as $haberc) {
        $haberc[1];
        echo "<br />";
    }
    ?>
    Hocam $haberc[1] echo dememişsin , for ile de şöyle yaparsın;
    <?php
    $vericek=file_get_contents("http://www.haberler.com/guncel/");
    echo preg_match_all('#<div style="padding-top:2px;padding-bottom:2px;">
    <a href="(.*?)" style="color:\#0D53B2;font-size:11pt;">(.*?)</a>
    </div>
    (.*?)
    </div>
    #si',$vericek,$bilgi,PREG_SET_ORDER);
     for($i=0;$i<=count($bilgi);$i++) {
    echo  $haberc[1][$i];
        echo "<br />";
    }
    ?>
  • 04-06-2009, 15:23:21
    #7
    hocam yanlış anlamadıysam sorunu echo ile yazdırmamışsınız ondan ekrana basmıyor

    <?php
    $vericek=file_get_contents("http://www.haberler.com/guncel/");
    echo preg_match_all('#<div style="padding-top:2px;padding-bottom:2px;">
    <a href="(.*?)" style="color:\#0D53B2;font-size:11pt;">(.*?)</a>
    </div>
    (.*?)
    </div>
    #si',$vericek,$bilgi,PREG_SET_ORDER);
    
    foreach($bilgi as $haberc) {
     echo   $haberc[1]."<br />";
    }
    
    
    ?>
  • 04-06-2009, 15:48:49
    #8
    Yazdıklarınızı okuyunca kendimden utandım dalgınlık işte...
  • 04-06-2009, 16:03:14
    #9
    Olur insanlık hali
    ----------------------------------------------------
    <kd>
    Alıntı
    Hocam bu PREG_SET_ORDER , PREG_PATTERN_ORDER , PREG_OFFSET_CAPTURE nedir ?
    php.netten baktımda pek bişe anlamadım.
    Konu amacına ulaşmış yeni konu açmadan bu konuyla alakalı olduğu için soruyum dedim
    Yokmu yazacak ?
    </kd>