• 29-09-2014, 15:02:45
    #1
    arkadaşlar merhaba,

    aşağıdaki script de PHP için

    b8fc302131ef7f9ff018790c456410 değerini çekebileceğim pregmatch ifadesini bulamadım.yardımcı olabilirseniz memnun oluru


    confirmSingleFB(456410, "http://domain.com/1224", "b8fc302131ef7f9ff018790c456410", "3", 0, "UV9W49wQ%2F4wdfOWGK0EwP8DdWfuIdyA%2FnkLoXuMyT1zSfOf718c%2Fz21%2BXEE%3D", "10", "rfdsdd");
  • 29-09-2014, 15:05:32
    #2
    Bu linke ekledim; http://regex101.com/r/zD9hT8/1
  • 29-09-2014, 15:48:05
    #3
    afimafis adlı üyeden alıntı: mesajı görüntüle
    arkadaşlar merhaba,

    aşağıdaki script de PHP için

    b8fc302131ef7f9ff018790c456410 değerini çekebileceğim pregmatch ifadesini bulamadım.yardımcı olabilirseniz memnun oluru


    confirmSingleFB(456410, "http://domain.com/1224", "b8fc302131ef7f9ff018790c456410", "3", 0, "UV9W49wQ%2F4wdfOWGK0EwP8DdWfuIdyA%2FnkLoXuMyT1zSfOf718c%2Fz21%2BXEE%3D", "10", "rfdsdd");
    borealis adlı üyeden alıntı: mesajı görüntüle
    Bu linke ekledim; http://regex101.com/r/zD9hT8/1

    teşekkürler

    456410, http://domain.com/1224 gibi değişkenleri yazmadan regexi nasıl oluşturabilirim orda takıldım aslında
  • 29-09-2014, 15:51:52
    #4
    afimafis adlı üyeden alıntı: mesajı görüntüle
    teşekkürler

    456410, http://domain.com/1224 gibi değişkenleri yazmadan regexi nasıl oluşturabilirim orda takıldım aslında
    confirmSingleFB\((.*?), "(.*?)", "(.*?)", "(.*?)", (.*?), "(.*?)", "(.*?)", "(.*?)"\);
    Bunu kullanın ve dizi içerisinden istediğiniz veriyi çekin.
  • 29-09-2014, 15:53:01
    #5
    $aranan = 'confirmSingleFB(456410, "http://domain.com/1224", "b8fc302131ef7f9ff018790c456410", "3", 0, "UV9W49wQ%2F4wdfOWGK0EwP8DdWfuIdyA%2FnkLoXuMyT1zSfOf718c%2Fz21%2BXEE%3D", "10", "rfdsdd")';
    preg_match('#confirmSingleFB((.*?), "(.*?)", "(.*?)", "(.*?)", (.*?), "(.*?)", "(.*?)", "(.*?)")#', $aranan, $sonuc);
    $istenen = $sonuc[4];
    // Çıktısı : b8fc302131ef7f9ff018790c456410
  • 29-09-2014, 23:01:04
    #6
    PsdBul adlı üyeden alıntı: mesajı görüntüle
    $aranan = 'confirmSingleFB(456410, "http://domain.com/1224", "b8fc302131ef7f9ff018790c456410", "3", 0, "UV9W49wQ%2F4wdfOWGK0EwP8DdWfuIdyA%2FnkLoXuMyT1zSfOf718c%2Fz21%2BXEE%3D", "10", "rfdsdd")';
    preg_match('#confirmSingleFB((.*?), "(.*?)", "(.*?)", "(.*?)", (.*?), "(.*?)", "(.*?)", "(.*?)")#', $aranan, $sonuc);
    $istenen = $sonuc[4];
    // Çıktısı : b8fc302131ef7f9ff018790c456410
    tşk ederim işe yaradı
  • 30-09-2014, 20:52:10
    #7
    Tırnak arasında aranan kelime uzunlugu 30 ise : "\w{30}" diyebilirsin.
    $aranan = 'confirmSingleFB(456410, "http://domain.com/1224", "b8fc302131ef7f9ff018790c456410", "3", 0, "UV9W49wQ%2F4wdfOWGK0EwP8DdWfuIdyA%2FnkLoXuMyT1zSfOf718c%2Fz21%2BXEE%3D", "10", "rfdsdd");';
    
    $aranan = preg_replace('/^.*?"(\w{30})".*?$/si', '$1', $aranan);
    echo $aranan;  //Çıktı : b8fc302131ef7f9ff018790c456410
    ^.*?" => String başlangıcından tırnak işaretine kadar
    (\w{30}) => a-zA-Z0-9 karakterleri 30 tane olacak (parantez) içerisinde kalanlara $1 ile erişiriyoruz
    ".*?$ sonra tırnak işaretinden sonuna kadar tüm kelimeyi bul
    $ => String sonu ifadesi

    Yani tüm ifadeyi, istediğimiz ifade ile değiştirdik (\w{30})=$1