• 05-03-2009, 18:31:55
    #1
    merhaba arkadaşlar ben imdb'den veri çektirmek istiyorum bunun içinde elimde bir dosya var fakat burda bazı verileri çekerken bazı verileri çekmiyor araştırdım internette pek birşey bulamadım. zaten php bilgimde pek yok. kodları kurcaladım ama bir sonuca ulaşamadım...

    eğer bana yardımcı olursanız çok sevinirim...

    sorun yaşadığımm satır bu
    preg_match ( "'<b>User Rating:</b> <b>(.*?)/10</b>'" , $imdb_raw , $votes );                    
                $votes = @strip_tags($votes[1]);
                
                preg_match ( "'<small>\(<a href=\"ratings\">(.*?)</a>\)</small>'" , $imdb_raw , $voter );                    
                $voter = str_replace("votes","", @strip_tags($voter[1]));
    bu satırı aşağıdaki gibi değiştiriyorum
                preg_match ( "'<b>User Rating:</b> <b>(.*?)/10</b>'" , $imdb_raw , $votes );                    
                $votes = @strip_tags($votes);
                
                preg_match ( "'<small>\(<a href=\"ratings\">(.*?)</a>\)</small>'" , $imdb_raw , $voter );                    
                $voter = str_replace("votes","", @strip_tags($voter));
    bu seferde çıktı olarak
    Array Seyirci, 10 Üzerinden Ortalama Array Puan Verdi
  • 05-03-2009, 18:45:19
    #2
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Ordaki çektiğin veri dizi olduğundan Araay yazar önce onu ekrana yazıdr print_r() ile daha sonra işine yarayanı kullanırsın...
  • 05-03-2009, 18:49:15
    #3
    tam anlamadım demek istediğini!!!

    bu kodlarını verdiğim dosyanın tamamı... dil dosyası dışında başka dosyası yok! acaba nerede ne değişiklik yapıcam?
  • 05-03-2009, 21:06:57
    #4
    preg_match_all('#<b>User Rating:</b> <b>(.*?)/10</b>#si', $imdb_raw, $votes);
    preg_match_all('#<small>\(<a href=\"ratings\">(.*?)</a>\)</small>#si', $imdb_raw, $voter);
    print_r($voter);
    print_r($votes);
    Arraylara bak daha sonra print_r($veri, true); yaparak kullanırsın.
  • 06-03-2009, 04:27:47
    #5
    abi anlamadım tam ben
    bana böyle bir çıktı verdi şimdi!!!
    Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) )
  • 06-03-2009, 05:41:56
    #6
    Üyeliği durduruldu
    bi yerlerden kopyala yapıştırla cebelleşmek yerine işin özünü sindirip. file_get_content ve explode ile çok basit yapabilirsiniz

    Uzak Dosya Açmak - file_get_contents, file, fopen komutları görsel video eğitimi
    Php Explode Fonksiyonu görsel video eğitimi
  • 06-03-2009, 21:07:04
    #7
    sdemirkeser adlı üyeden alıntı: mesajı görüntüle
    bi yerlerden kopyala yapıştırla cebelleşmek yerine işin özünü sindirip. file_get_content ve explode ile çok basit yapabilirsiniz

    Uzak Dosya Açmak - file_get_contents, file, fopen komutları görsel video eğitimi
    Php Explode Fonksiyonu görsel video eğitimi
    çok haklısın sdemirkeser ama sorduğum soruda bahsettiğim dosyaların tamamını ben hazırlasam ve bir yerde takılıp sorsam %100 söylediğin konuda haklısın ve önerdiğin yolları gerçekten denerdim.... şimdi arkadaşın biri bir kaç yüz satır kod hazırlamış bende php'den pek anlamam nasıl mantık kullanmış, ne yapmış hiç bilmiyorum.. şimdi benim sorma amacım çalışmayan kodları verdim "@strip_tags" veya "str_replace" fonksiyonları kullanmış.. bakınca bilen bir arkadaş.. "-heee bu mantığı kullanmış ama şurası yanlış" der umuduyla sormuştum... yine teşekkürler site'yi favorilere ekledim
  • 06-03-2009, 22:55:51
    #8
    preg_match_all kullanımı biraz değişiktir. Şu şekilde yazarsanız verileri görebilirsiniz.

    print_r($voter[1]);
    print_r($votes[1]);

    Burda işinize yarayan veri numarasını echo $voter[1][1]; gibi kullanabilirsiniz. 2. köşeli parantez içindeki 1 sayısı print_r ile gördüğünüz veriye verdiği numaradır.
  • 07-03-2009, 19:44:13
    #9
    kale2000 adlı üyeden alıntı: mesajı görüntüle
    preg_match_all('#<b>User Rating:</b> <b>(.*?)/10</b>#si', $imdb_raw, $votes);
    preg_match_all('#<small>\(<a href=\"ratings\">(.*?)</a>\)</small>#si', $imdb_raw, $voter);
    print_r($voter);
    print_r($votes);
    Arraylara bak daha sonra print_r($veri, true); yaparak kullanırsın.
    NarcotiqTR adlı üyeden alıntı: mesajı görüntüle
    abi anlamadım tam ben
    bana böyle bir çıktı verdi şimdi!!!
    Array ( [0] => Array ( ) [1] => Array ( ) ) Array ( [0] => Array ( ) [1] => Array ( ) )
    yukarıda da aynı mantığı söylemişlerdi ve denedim yukarıdaki gibi çıktı almıştım... ama orda da dediğim gibi anlamadım... acaba ordaki çıktıya göre ilk mesajımdaki kodlarda nasıl bir ayar yapabilirim???

    zampir adlı üyeden alıntı: mesajı görüntüle
    preg_match_all kullanımı biraz değişiktir. Şu şekilde yazarsanız verileri görebilirsiniz.

    print_r($voter[1]);
    print_r($votes[1]);

    Burda işinize yarayan veri numarasını echo $voter[1][1]; gibi kullanabilirsiniz. 2. köşeli parantez içindeki 1 sayısı print_r ile gördüğünüz veriye verdiği numaradır.
    bu şekilde dediğin gibi 2 köşeli parantezli denedim oda olmadı.