• 25-12-2012, 22:51:05
    #1
    Üyeliği durduruldu
    Merhabalar,

    Aşağıdaki fonksiyonu kullanarak alexa rank çekiyorum fakat çıktı tam olarak istediğim gibi çıkmıyor.

    Alıntı
    function alexaRank($domain)
    {
    $remote_url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url='.trim($domain);
    $search_for = '<POPULARITY URL';
    $part='';
    if ($handle = @fopen($remote_url, "r")) {
    while (!feof($handle)) {
    $part .= fread($handle, 100);
    $pos = strpos($part, $search_for);
    if ($pos === false)
    continue;
    else
    break;
    }
    $part .= fread($handle, 100);
    fclose($handle);
    }
    $str = explode($search_for, $part);
    $str = array_shift(explode('"/>', $str[1]));
    $str = explode('TEXT="', $str);
    return $str[1];
    }
    Çıktı ise;

    Alıntı
    333581" SOURCE="panel
    Yani sıralamadan sonra " SOURCE="panel karakterleri gereksiz. Sadece rakamın çıkmasını nasıl sağlarım?
  • 26-12-2012, 00:02:10
    #2
    Üyeliği durduruldu
    substr yada
    preg match ile halledebilirsin
  • 26-12-2012, 00:09:59
    #3
    Üyeliği durduruldu
    RobinsonCrusoe adlı üyeden alıntı: mesajı görüntüle
    substr yada
    preg match ile halledebilirsin
    Sonuçlar belli değilki baştan 7 karakteri kullan desek sıralama 8 veya 9 hanelide olabilir. Yani sınırlamak olmaz bu durumda.
  • 26-12-2012, 00:10:02
    #4
    Yukardaki kodu nerden buldun bilmiyorum ama aşağıdaki gibi basit bi kod yazdım işini görür umarım.Kolay gelsin

    function alexaRank($domain)
    {
    $remote_url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url='.trim($domain);
    $data = file_get_contents($remote_url);
    preg_match('#TEXT="([\d]*)"#',$data,$sonuc);
    return $sonuc[1];
    }
    
    echo alexaRank("hdfilmizliyoruz.com");
  • 26-12-2012, 00:17:39
    #5
    Üyeliği durduruldu
    substr ile baştan sontan heryerden bölebilirsin..
  • 26-12-2012, 00:21:43
    #6
    Üyeliği durduruldu
    RobinsonCrusoe adlı üyeden alıntı: mesajı görüntüle
    substr ile baştan sontan heryerden bölebilirsin..
    Evet bölünüyor, bölünmüyor demiyorum. Ama sonuç değişken olduğu için işimi görmüyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 00:21:43 -->-> Daha önceki mesaj 00:21:10 --

    CoLLeR adlı üyeden alıntı: mesajı görüntüle
    Yukardaki kodu nerden buldun bilmiyorum ama aşağıdaki gibi basit bi kod yazdım işini görür umarım.Kolay gelsin

    function alexaRank($domain)
    {
    $remote_url = 'http://data.alexa.com/data?cli=10&dat=snbamz&url='.trim($domain);
    $data = file_get_contents($remote_url);
    preg_match('#TEXT="([\d]*)"#',$data,$sonuc);
    return $sonuc[1];
    }
    
    echo alexaRank("hdfilmizliyoruz.com");
    Oldu teşekkürler
  • 26-12-2012, 23:58:12
    #7
    <?php
    function alexa($site){ 
    $url = 'http://www.alexa.com/siteinfo/'.trim($site); 
    $site = file_get_contents($url); 
    preg_match('#<div class="data up">(.*?)</div>#si',$site,$cikti); 
    return strip_tags($cikti[1]);
    } 
    echo alexa("tasaristanbul.com"); // Çıktı: 2,136,130
    ?>
    istersen bu şekilde kullanabilirsin...