Reklam gösterimini engelleyici yazılım kullandığınızı görüyoruz.
Sitemizin ayakta kalıp sizlere hizmet edebilmek için en büyük gelir kaynağı sayfamızda gösterilen reklamlardır.
Reklam gösterimde bizim sayfamıza ayrıcalık tanıyarak ayakta kalmamıza destek olmak ister misiniz ?

PHP Gametracker (Regex match,Replace)

Konu

#1
Son Düzenleme: 14-07-2018, Saat: 23:49, Düzenleyen: aLeX.
PHP Kod:
   $curl curl_init();

 
   curl_setopt_array($curl, array(
 
   CURLOPT_URL => "https://www.gametracker.com/server_info/93.123.18.5:27017/top_players/",
 
   CURLOPT_RETURNTRANSFER => true,
 
   CURLOPT_ENCODING => "",
 
   CURLOPT_MAXREDIRS => 10,
 
   CURLOPT_TIMEOUT => 30,
 
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 
   CURLOPT_CUSTOMREQUEST => "GET",
 
   CURLOPT_HTTPHEADER => array(
 
       "Cache-Control: no-cache",
 
       "Host: www.gametracker.com",
 
       "accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
 
       "accept-language: en-US,en;q=0.5",
 
       "upgrade-insecure-requests: 1",
 
       "user-agent: Mozilla/5.0"
 
   ),
 
   ));

 
   $response curl_exec($curl);
 
   $err curl_error($curl);

 
   curl_close($curl);

 
   if ($err) {
 
   echo "cURL Error #:" $err;
 
   } else {
 
   //echo $response;
 
   
-Curl ile url'den sayfa verisi çekilir.

PHP Kod:
$str preg_replace 
 
       '/[\n\s]/' 
 
       '' 
 
       $response); 
-Sayfa verisindeki boşluk ve yeni satırlar silinir. $response stringi içerisindeki regexte belirtilen boşluk veya yeni satırları siler(değiştirir).

PHP Kod:
$re '/<td>[^"]*"\/player\/(.*?)\/[^<]*<\/a><\/td><td>&nbsp;<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/m'
-Gametrackerdan alınan veri için regex patterni hazırlanır.

PHP Kod:
preg_match_all($re$str$matchesPREG_SET_ORDER0); 
-Patterne göre istenen veriler $matches arrayi içerisinde toplanır.

PHP Kod:
echo 'Name Score Time Score/Min <br>';
 
   for($i=0;$i<10;$i++) {
 
       for($w=1;$w<5;$w++) {
 
           echo urldecode($matches[$i][$w]). ' ';
 
       }
 
       echo '<br>';
 
   
-Veriler yazdırılır.

BÜTÜN KOD:
PHP Kod:
<?php
    $curl 
curl_init();

 
   curl_setopt_array($curl, array(
 
   CURLOPT_URL => "https://www.gametracker.com/server_info/93.123.18.5:27017/top_players/",
 
   CURLOPT_RETURNTRANSFER => true,
 
   CURLOPT_ENCODING => "",
 
   CURLOPT_MAXREDIRS => 10,
 
   CURLOPT_TIMEOUT => 30,
 
   CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
 
   CURLOPT_CUSTOMREQUEST => "GET",
 
   CURLOPT_HTTPHEADER => array(
 
       "Cache-Control: no-cache",
 
       "Host: www.gametracker.com",
 
       "accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8",
 
       "accept-language: en-US,en;q=0.5",
 
       "upgrade-insecure-requests: 1",
 
       "user-agent: Mozilla/5.0"
 
   ),
 
   ));

 
   $response curl_exec($curl);
 
   $err curl_error($curl);

 
   curl_close($curl);

 
   if ($err) {
 
   echo "cURL Error #:" $err;
 
   } else {
 
   //echo $response;
 
   }
 
   
    $str 
preg_replace 
 
       '/[\n\s]/' 
 
       '' 
 
       $response);

 
   $re '/<td>[^"]*"\/player\/(.*?)\/[^<]*<\/a><\/td><td>&nbsp;<\/td><td>(.*?)<\/td><td>(.*?)<\/td><td>(.*?)<\/td>/m';

 
   preg_match_all($re$str$matchesPREG_SET_ORDER0);

 
   echo 'Name Score Time Score/Min <br>';
 
   for($i=0;$i<10;$i++) {
 
       for($w=1;$w<5;$w++) {
 
           echo urldecode($matches[$i][$w]). ' ';
 
       }
 
       echo '<br>';
 
   }
?>



Cevapla
#2
PHP öğrenmeye çalışıyorum ancak bu ileri seviye basit bir düzeyde paylaşım olsa daha faydalı olabilirdi , temeli aldığım zaman bu konunu inceliceğim yinede başarılı bi konu olduğuna eminim



Cevapla
#3
Bir Tek Ben Mi Anlamadım



Cevapla
#4
Tam olarak ne oldugunu anlayamadım PHP Gametrackerin burdaki işlevi nedir ?


Cevapla
#5
Bu konu regex'in uygulaması ve önceden yapmış olduğum gametracker plugininin backend'inin küçük bir kısmı. Anlamak için regex bilmeniz gerekiyor.


Cevapla
#6
Eline Emeğine Sağlık.


Pouex(Görkem Bacısısikişenoğlu)'in anasını götünden sikeyim.
Emirhan SkürtSkürt seninde ananı sikicem sıradasın.
Dediğim gibi ferudun ve berke lafım yok.
forum.csduragi.com
Cevapla


Bir hesap oluşturun veya yorum yapmak için giriş yapın

Yorum yapmak için üye olmanız gerekiyor

ya da

Task