• 08-07-2015, 18:33:43
    #10
    srknyxl adlı üyeden alıntı: mesajı görüntüle
    preg_match_all('~User Name~is',$cikti,$f);
    
    print_r($f);
    388 adet parça oluşturuyor bu şekilde. Kullanıcı sayısına eşit yani doğru.

    Ama bunda diziler boş,

    preg_match_all('~User Name \|(.*?) Full Name.+?Transfer Bytes \|(.*?) Transfer Packets~is',$cikti,$f);
    Burdan anliyoruz ki regex'i degistirmen gerekiyor. Veri boyutuyla vs. bir sorunumuz yok.

    ~User Name \|(.*?) Full Name (.*?) Transfer Bytes \|(.*?) Transfer Packets~is
    Su sekilde dener misin
  • 08-07-2015, 18:42:48
    #11
    LaCReMeL adlı üyeden alıntı: mesajı görüntüle
    Burdan anliyoruz ki regex'i degistirmen gerekiyor. Veri boyutuyla vs. bir sorunumuz yok.

    ~User Name \|(.*?) Full Name (.*?) Transfer Bytes \|(.*?) Transfer Packets~is
    Su sekilde dener misin
    Yine olmadı

    Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( ) )

    Fakat değişik bir deneme ile biraz ilerleme katettim.

    Boşlukları ve | karakterlerini (\ işaretleri ile birlikte) regexten sildim. Sanırım bunu yapmakla onlarıda dizi değişkenlerine dahil ettim.

    preg_match_all('~User Name(.*?)Full Name.+?Transfer Bytes(.*?)Transfer Packets~is',$cikti,$f);
    Daha sonra her dizi değişkenini str_replace ile | karakteri ve boşluklardan arındırdım.

    İşimi görsede hiç ama hiç içime sinmeyen bir yöntem oldu bu. Attığım adıma göre sorunun ne olduğunu daha kolay saptayabilirsiniz sanırım.

    Regex te ne bir boşluk nede \| bırakmamam gerekiyor. Hostingime suç bulmaya başladım artık.
  • 08-07-2015, 19:08:36
    #12
    srknyxl adlı üyeden alıntı: mesajı görüntüle
    Yine olmadı

    Array ( [0] => Array ( ) [1] => Array ( ) [2] => Array ( ) [3] => Array ( ) )

    Fakat değişik bir deneme ile biraz ilerleme katettim.

    Boşlukları ve | karakterlerini (\ işaretleri ile birlikte) regexten sildim. Sanırım bunu yapmakla onlarıda dizi değişkenlerine dahil ettim.

    preg_match_all('~User Name(.*?)Full Name.+?Transfer Bytes(.*?)Transfer Packets~is',$cikti,$f);
    Daha sonra her dizi değişkenini str_replace ile | karakteri ve boşluklardan arındırdım.

    İşimi görsede hiç ama hiç içime sinmeyen bir yöntem oldu bu. Attığım adıma göre sorunun ne olduğunu daha kolay saptayabilirsiniz sanırım.

    Regex te ne bir boşluk nede \| bırakmamam gerekiyor. Hostingime suç bulmaya başladım artık.

    Buyuk ihtimal unix sistemin orada verdigi bosluk ve | karakteri ile bizim elle yazdiklarimiz ortusmuyor. Bu yuzden eslesme olmuyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:08:36 -->-> Daha önceki mesaj 17:59:17 --

    Gelen veriyi utf-8'e cevirip deneyebilirsin.
  • 08-07-2015, 19:44:26
    #13
    LaCReMeL adlı üyeden alıntı: mesajı görüntüle
    Buyuk ihtimal unix sistemin orada verdigi bosluk ve | karakteri ile bizim elle yazdiklarimiz ortusmuyor. Bu yuzden eslesme olmuyor.

    --R10.NET; Flood Engellendi -->-> Yeni yazılan mesaj 18:08:36 -->-> Daha önceki mesaj 17:59:17 --

    Gelen veriyi utf-8'e cevirip deneyebilirsin.
    Nasıl çevirebilirim daha önce hiç yapmadım. İşin garibi aynı serverdan farklı bir bilgi çekip preg_match_all ile sorunsuz bölebiliyorum.
  • 08-07-2015, 20:17:41
    #14
    srknyxl adlı üyeden alıntı: mesajı görüntüle
    Nasıl çevirebilirim daha önce hiç yapmadım. İşin garibi aynı serverdan farklı bir bilgi çekip preg_match_all ile sorunsuz bölebiliyorum.
    http://php.net/manual/en/function.mb...t-encoding.php

    $veri = mb_convert_encoding($veri, "UTF-8");
    bi deneyin
  • 08-08-2015, 01:51:24
    #15
    "|" karakterinden kaynaklanıyormuş sorun. Regexteki karakter ile sonuc değişkeninden gelen karakter aynı olmadığı için tanımıyormuş. Regexten silip diziye dahil ettim, foreach döngüsünde de her dizi değerini streplace ile "|" karakterinden arındırdım.
  • 08-08-2015, 15:16:13
    #16
    srknyxl adlı üyeden alıntı: mesajı görüntüle
    "|" karakterinden kaynaklanıyormuş sorun. Regexteki karakter ile sonuc değişkeninden gelen karakter aynı olmadığı için tanımıyormuş. Regexten silip diziye dahil ettim, foreach döngüsünde de her dizi değerini streplace ile "|" karakterinden arındırdım.
    \| şeklinde yaparak \ karaterini sadece metinde bir karakter gibi göstererek sorunu düzeltebilirsin.