• 18-03-2014, 19:41:46
    #10
    ArMoR adlı üyeden alıntı: mesajı görüntüle
    Kodun açıklamasını yaparsanız bizlerde öğrenmiş oluruz,,
    bu şekilde sorunu olan herkes de öğrenmiş olur..

    kodu ezberlemek öğrenmenin yanında anlam ifade etmiyor malesef
    ben öğrenme taraftarıyım açıklamasını yaparsanız sevinirirm teşekkürler..
    $data	= "xxxxxxx_16.html";
    $id   = stristr( substr(strrchr( $data, "_"), 1), ".", true);
    echo $id; // 16
    
    $x1		= strrchr( $data, "_");		// _16.html
    $x2		= substr( $x1, 1 );			// 16.html
    $x3		= stristr( $x2, ".", true);	// 16
    echo $x3; // 16
    /*
    $x1 -> son "_" karakterinden sonrası, "_" seçime dahil
    $x2 -> ilk karaker dışındaki karakterler
    $x3 -> ilk "." karakterinden öncesi. true parametresi girilmezse ilk "." karakterinden sonrası ( her iki durumda da "." seçime dahil değil )
    */
  • 18-03-2014, 19:51:52
    #11
    Misafir
    Kısa olarak görünen kodda, birden fazla fonksiyon çalışıyor. Kısa ama öz değil bence.

        $url    =    "yakosmakos_16.html";
        preg_match("#_(.*).html#",$url,$data);
        echo $data[1];
    Buda ekran görüntüsü.

    • ArMoR
    • EmreBulutlar
    • saintx
    ArMoR, EmreBulutlar, saintx ve 1 kişi bunu beğendi.
    4 kişi bunu beğendi.
  • 22-03-2014, 14:26:01
    #12
    dark_way adlı üyeden alıntı: mesajı görüntüle
    $data	= "xxxxxxx_16.html";
    $id   = stristr( substr(strrchr( $data, "_"), 1), ".", true);
    echo $id; // 16
    
    $x1		= strrchr( $data, "_");		// _16.html
    $x2		= substr( $x1, 1 );			// 16.html
    $x3		= stristr( $x2, ".", true);	// 16
    echo $x3; // 16
    /*
    $x1 -> son "_" karakterinden sonrası, "_" seçime dahil
    $x2 -> ilk karaker dışındaki karakterler
    $x3 -> ilk "." karakterinden öncesi. true parametresi girilmezse ilk "." karakterinden sonrası ( her iki durumda da "." seçime dahil değil )
    */

    Çok Ama Çok Teşekkürler Allah (c.c.) Razıolsun Güzel Kardeşim..
    Gayet anlaşılır ve açıklayıcı bir anlatım kullanmışsınız ve emin olun çok işime yarayacak sağolun varolun inşaallah..

    Ezber konuda alır bir kere kullanırsın
    sonra yine ihtiyacın olduğunda veya biraz değişik birşey yapmaya çalıştığında bunu neden ve nasıl yapacağını bilemezsin,,
    O Yüzden Ben Öğrenme anlama Taraftarıyım ,Bu Bilgiden kendi kodlarımı türetebilirim bu sayede..

    Tekrar teşekkürler zahmetiniz ve anlayışınız için..
  • 22-03-2014, 19:11:00
    #13
    Önerim, regex;

    <?php
    $URL = "galatasaray-real-madrid-didier-drogba-basin-toplantisi-video-izle_16.html";
    preg_match_all('#_(.*?).html#', $URL, $returnValue);
    
    echo $returnValue[1][0];
    
    ?>
    Yada daha basite kaçarsak;

    <?php
    $STRING = "galatasaray-real-madrid-didier-drogba-basin-toplantisi-video-izle_16.html";
    
    $PARCALA = explode("_",$STRING);
    $SON_BOLUM = str_replace(".html",NULL,end( $PARCALA ));
    
    echo $SON_BOLUM;
    
    ?>
  • 23-03-2014, 03:57:48
    #14
    <?php 
    function test1($data){ /* solumy */
    	preg_match( '/\_([0-9]+)\.html/i', $data, $sonuc );
    	return $sonuc[1];
    }
    
    function test2($data){ /* yakoSin */
    	preg_match("#_(.*).html#",$data,$sonuc);
    	return $sonuc[1];
    }
    
    function test3($data){ /* PamukBilisim */
    	preg_match_all('#_(.*?).html#', $data, $returnValue);
    	return $returnValue[1][0];
    }
    
    function test4($data){ /* dark_way */
    	return stristr( substr(strrchr( $data, "_"), 1), ".", true);
    }
    
    
    $tursayisi	= 10000;
    $metin		= "galatasaray-real-madrid-didier-drogba-basin-toplantisi-video-izle_16.html";
    
    $baslat	= microtime(true);
    $sonuc1	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc1 += test1($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    $baslat	= microtime(true);
    $sonuc2	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc2 += test2($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    $baslat = microtime(true);
    $sonuc3	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc3 += test3($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    $baslat = microtime(true);
    $sonuc4	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc4 += test4($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    echo "Test1 fonksiyonu ".$tursayisi." turu ".$sure[0]." mikrosaniyede tamamladı. Sonuç:".$sonuc1."<br/>";
    echo "Test2 fonksiyonu ".$tursayisi." turu ".$sure[1]." mikrosaniyede tamamladı. Sonuç:".$sonuc2."<br/>";
    echo "Test3 fonksiyonu ".$tursayisi." turu ".$sure[2]." mikrosaniyede tamamladı. Sonuç:".$sonuc3."<br/>";
    echo "Test4 fonksiyonu ".$tursayisi." turu ".$sure[3]." mikrosaniyede tamamladı. Sonuç:".$sonuc4."<br/>";
    
    /*
    Test1 fonksiyonu 10000 turu 0.14084410667419 mikrosaniyede tamamladı. Sonuç:160000   solumy
    Test2 fonksiyonu 10000 turu 0.15174388885498 mikrosaniyede tamamladı. Sonuç:160000  yakoSin
    Test3 fonksiyonu 10000 turu 0.16102910041809 mikrosaniyede tamamladı. Sonuç:160000  PamukBilisim
    Test4 fonksiyonu 10000 turu 0.09849309921264 mikrosaniyede tamamladı. Sonuç:160000  dark_way
    */
    ?>
    En iyi sonucu genelde test4 fonksiyonu vermiş, @solumy;'nin deseni genelde 2. en iyi performansı verirken nadiren en iyi performans veren fonksiyon da olmuştur. @yakoSin ve @PamukBilisim;in desenlerinin de zaman zaman 2.liğe yükseldiği gözlenmiştir. Test4 fonksiyonu genelde 1., nadiren 2. olmuş ama hiç 3. veya 4. sırada yer almamıştır.

    "$tursayisi" ve "$metin" değişkenlerindeki değerleri abartarak daha net sonuçlar elde edebilirsniz.
    Saygılar.
  • 23-03-2014, 12:17:13
    #15
    dark_way adlı üyeden alıntı: mesajı görüntüle
    <?php 
    function test1($data){ /* solumy */
    	preg_match( '/\_([0-9]+)\.html/i', $data, $sonuc );
    	return $sonuc[1];
    }
    
    function test2($data){ /* yakoSin */
    	preg_match("#_(.*).html#",$data,$sonuc);
    	return $sonuc[1];
    }
    
    function test3($data){ /* PamukBilisim */
    	preg_match_all('#_(.*?).html#', $data, $returnValue);
    	return $returnValue[1][0];
    }
    
    function test4($data){ /* dark_way */
    	return stristr( substr(strrchr( $data, "_"), 1), ".", true);
    }
    
    
    $tursayisi	= 10000;
    $metin		= "galatasaray-real-madrid-didier-drogba-basin-toplantisi-video-izle_16.html";
    
    $baslat	= microtime(true);
    $sonuc1	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc1 += test1($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    $baslat	= microtime(true);
    $sonuc2	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc2 += test2($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    $baslat = microtime(true);
    $sonuc3	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc3 += test3($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    $baslat = microtime(true);
    $sonuc4	= 0;
    for( $i=0; $i<$tursayisi; $i++ ){
    	$sonuc4 += test4($metin);
    };
    $sure[] = microtime(true) - $baslat;
    
    echo "Test1 fonksiyonu ".$tursayisi." turu ".$sure[0]." mikrosaniyede tamamladı. Sonuç:".$sonuc1."<br/>";
    echo "Test2 fonksiyonu ".$tursayisi." turu ".$sure[1]." mikrosaniyede tamamladı. Sonuç:".$sonuc2."<br/>";
    echo "Test3 fonksiyonu ".$tursayisi." turu ".$sure[2]." mikrosaniyede tamamladı. Sonuç:".$sonuc3."<br/>";
    echo "Test4 fonksiyonu ".$tursayisi." turu ".$sure[3]." mikrosaniyede tamamladı. Sonuç:".$sonuc4."<br/>";
    
    /*
    Test1 fonksiyonu 10000 turu 0.14084410667419 mikrosaniyede tamamladı. Sonuç:160000   solumy
    Test2 fonksiyonu 10000 turu 0.15174388885498 mikrosaniyede tamamladı. Sonuç:160000  yakoSin
    Test3 fonksiyonu 10000 turu 0.16102910041809 mikrosaniyede tamamladı. Sonuç:160000  PamukBilisim
    Test4 fonksiyonu 10000 turu 0.09849309921264 mikrosaniyede tamamladı. Sonuç:160000  dark_way
    */
    ?>
    En iyi sonucu genelde test4 fonksiyonu vermiş, @solumy;'nin deseni genelde 2. en iyi performansı verirken nadiren en iyi performans veren fonksiyon da olmuştur. @yakoSin ve @PamukBilisim;in desenlerinin de zaman zaman 2.liğe yükseldiği gözlenmiştir. Test4 fonksiyonu genelde 1., nadiren 2. olmuş ama hiç 3. veya 4. sırada yer almamıştır.

    "$tursayisi" ve "$metin" değişkenlerindeki değerleri abartarak daha net sonuçlar elde edebilirsniz.
    Saygılar.
    Emek verip sonuçları bize sunmuşsunuz, teşekkürler.