• 21-03-2015, 17:48:28
    #1
    Merhaba arkadaşlar,

    PHP yazılımda bir konuda problemim var,

    MYSQL veritabanımda filitre sütununda aşağıdaki bilgiler yer alıyor. Yani [11:: ile başlayıp ] ile biten bölüm arasında ayakkabı numaraları yer alıyor.

    [11::40],[11::41],[11::42],[11::43],[11::44],[11::45],
    Ben bunun çıktısını direk 40,41,42,43,44,45 olarak almak istiyorum. Nasıl yapabilirim?

    Ücretli, ücretsiz yardımlarınızı bekliyorum, çok teşekkürler.
  • 21-03-2015, 18:08:54
    #2
    İstediğiniz nedir?


    Sent from my iPhone using Tapatalk
  • 21-03-2015, 19:05:56
    #3
    $data = '[11::40],[11::41],[11::42],[11::43],[11::44],[11::45],';
    preg_match_all('@\[11::(\d+)\]@', $data, $f);
    echo implode(', ', $f[1]);
    //ekran çıktısı 40, 41, 42, 43, 44, 45 şeklinde olacaktır.
  • 21-03-2015, 19:16:19
    #4
    $str = "[11::40],[11::41],[11::42],[11::43],[11::44],[11::45]";
    $str = str_replace(array('[11::',']'), '', $str);
    echo $str;
    şu şekilde de tekrarlayan istemediğiniz kısımları temizleyebilirsiniz.
  • 21-03-2015, 21:47:37
    #5
    Test edip dönüş yapacağım arkadaşlar ilginiz için çok teşekkür ediyorum.
  • 21-03-2015, 21:59:26
    #6
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Veya,

    $a="[11::40],[11::41],[11::42],[11::43],[11::44],[11::45],";
    preg_match_all('#::(.*?)]#si',$a,$b);
    print_r($b[1]);

    Çıktı:

    Array
    (
    [0] => 40
    [1] => 41
    [2] => 42
    [3] => 43
    [4] => 44
    [5] => 45
    )

  • 02-04-2015, 03:15:28
    #7
    webbartal adlı üyeden alıntı: mesajı görüntüle
    $data = '[11::40],[11::41],[11::42],[11::43],[11::44],[11::45],';
    preg_match_all('@\[11::(\d+)\]@', $data, $f);
    echo implode(', ', $f[1]);
    //ekran çıktısı 40, 41, 42, 43, 44, 45 şeklinde olacaktır.
    Kod tam istediğim şekilde çalıştı, arada başka filtreler olmasına rağmen 11 ile başlayanları bulup listeliyor. Ellerin dert görmesin, çok teşekkür ederim.