• 06-11-2016, 00:31:29
    #1
    Üyeliği durduruldu
    Merhaba arkadaşlar, cURL ile bir siteden veri çekmeye çalışıyorum. Siteye bağlantı konusunda bir sorun yok, geriye sadece veriyi parçalamak kaldı fakat değişken olan veriyi bir türlü parçalayıp çekemedim. Örnek verecek olursam,

    0,;,<a class='link_dl' href='http://c03.denemesite.com/dl/cxupp46c0/w5dm2jb1fc/r10.net.v8.0.20.zip' style='a:visited { color = black }'>R10.Net.v8.0.20.zip</a>,;,0
    "c03" sub-domaini değişken ve "/dl/" dizininden sonrası değişken. bunu preg_match ile nasıl çekerim. Ayrıca, fonksiyon için bu yapıya sahip bir link var mı diye kontrol etmek istiyorum, eğer link varsa if içerisinde işlem başlayacak yoksa else ile hata mesajı verilecek. Bu kodu denedim fakat başarısız oldum,

    output  = curl_exec($ch);
    
    
    
        if(preg_match('/(http:\/\/.+denemesite[^\s]+)/', $output, $link)){
    
    
            preg_match("<a class='link_dl' href='(.*?)' style='a:visited { color = black }'>", $data, $name);
            $URL = trim($link[1]);
            $download = substr($URL, 0, -1);
            $filename = substr(strrchr($download, '/'), 1);
    
    
        }
    
    echo $download;
  • 07-11-2016, 18:21:40
    #2
    Kod içerisinde test etmek yerine sonucu detaylı şekilde görebileceğin aşağıdaki test sitesinden kodu preg match testiyle çalıştırmanı öneririm

    https://tr.functions-online.com/preg_match.html

    Direkt çekmek istediğin yeri yazarsan daha kolay yardımcı olabilirim;

    "r10.net.v8.0.20.zip" burayı almak istiyorum gibi.
  • 07-11-2016, 18:32:37
    #3
    preg_match("<a class='link_dl' href='http://c03.denemesite.com/dl/(.*?)' style='a:visited { color = black }'>", $data, $name);
    yada

    preg_match("<a class='link_dl' href='http://c03.denemesite.com/dl/(.*?)/(.*?)/(.*?)' style='a:visited { color = black }'>", $data, $name);
    Sanırım böyle olur