• 21-03-2014, 01:17:40
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Arkadaşlar preg_replace ile { } işaretleri arasındaki içeriği echo yapmasını istiyorum.

    şuan ki kod:
    $data = ' {test()}  deneme içerik  {test()} ';
    
    $data = preg_replace('/{(.*)}/e', 'htmlspecialchars_decode($1)', $data);
    
    echo $data;
    yapınca fatal error veriyor. $data değerinde birden fazla {} işaretlerini kullanamıyorum.

    {function()} bu şekilde {} işaretileri arasındaki değeri veya fonksiyonu echo yapmasını istiyorum.

    edit: sorun çözüldü.
  • 21-03-2014, 01:19:47
    #2
    Chloetasarim adlı üyeden alıntı: mesajı görüntüle
    Arkadaşlar preg_replace ile { } işaretleri arasındaki içeriği echo yapmasını istiyorum.

    şuan ki kod:
    $data = preg_replace('/{(.*)}/e', 'htmlspecialchars_decode($1)', $data);
    bu kod ile;

    $data = ' {test()} deneme içerik {test()} ';

    yapınca fatal error veriyor.

    {function()} bu şekilde {} işaretileri arasındaki değeri veya fonksiyonu echo yapmasını istiyorum.

    hocam preg replace ile değiştirmek istediğiniz kodu eklerseniz yardımcı olmaya çalışalım.. bu şekilde biraz zor olur örnek kodla daha kolay bir şekilde çözüme kavuşturabiliriz..
  • 21-03-2014, 01:26:38
    #3
    RooTsGhosT adlı üyeden alıntı: mesajı görüntüle
    hocam preg replace ile değiştirmek istediğiniz kodu eklerseniz yardımcı olmaya çalışalım.. bu şekilde biraz zor olur örnek kodla daha kolay bir şekilde çözüme kavuşturabiliriz..

    $data değeri tamamen değişken.

    $data değerinde herhangi bir yazı ve {} işareti içinde herhangi bir fonksiyonu aramak istiyorum.

    regex olayını halledemedim.

    {XXX} bu XXX yazan yerde tüm büyük küçük harfler. sayı. virgül. ve : () " işareti olacak.

    şuan ki kullandığım regex:
    /{(.*)}/e
    teşşekkür ediyorum
  • 21-03-2014, 01:43:34
    #4
    Chloetasarim adlı üyeden alıntı: mesajı görüntüle
    $data değeri tamamen değişken.

    $data değerinde herhangi bir yazı ve {} işareti içinde herhangi bir fonksiyonu aramak istiyorum.

    regex olayını halledemedim.

    {XXX} bu XXX yazan yerde tüm büyük küçük harfler. sayı. virgül. ve : () " işareti olacak.

    şuan ki kullandığım regex:
    /{(.*)}/e
    teşşekkür ediyorum

    hocam öncelikle şunu belirteyim kullandığınız 3 modifier'i php 5.50 den sonra önerilmiyor büyük bir ihtimal ileriki sürümlerde kalkacak. ikinsizi ise bu modifier zaten şu anda benim bilgisayarımda şu anda hata veriyor.. onu kaldırmanızı tavsiye ederim...

    anladığım kadaruyla çalışan bir örnek yaptım test fonksiyonundan gelen değeri alıp istediğiniz başka bir değerler yer değiştiriyor... Eğer örnek istediğiniz gibi olmazsa ister burdan isterseniz skype üzerinden daha detaylı bir şekilde anlatırsanız yardımcı olmaya çalışırım...
    function test()
    {return "ABCdef123,.:()-";}
    
    $data = "{".test()."}   {".test()."}";
    $degisecek = "dasdasd dasda";
    $donen = preg_replace('/\{(.*?)\}/', $degisecek, $data);
    
    print_r($donen);
    
    //Örnek çıktı
    //dasdasd dasda dasdasd dasda
  • 21-03-2014, 01:54:40
    #5
    RooTsGhosT adlı üyeden alıntı: mesajı görüntüle
    hocam öncelikle şunu belirteyim kullandığınız 3 modifier'i php 5.50 den sonra önerilmiyor büyük bir ihtimal ileriki sürümlerde kalkacak. ikinsizi ise bu modifier zaten şu anda benim bilgisayarımda şu anda hata veriyor.. onu kaldırmanızı tavsiye ederim...

    anladığım kadaruyla çalışan bir örnek yaptım test fonksiyonundan gelen değeri alıp istediğiniz başka bir değerler yer değiştiriyor... Eğer örnek istediğiniz gibi olmazsa ister burdan isterseniz skype üzerinden daha detaylı bir şekilde anlatırsanız yardımcı olmaya çalışırım...
    function test()
    {return "ABCdef123,.:()-";}
    
    $data = "{".test()."}   {".test()."}";
    $degisecek = "dasdasd dasda";
    $donen = preg_replace('/\{(.*?)\}/', $degisecek, $data);
    
    print_r($donen);
    
    //Örnek çıktı
    //dasdasd dasda dasdasd dasda
    hocam çok teşşekkür ederim. işimi gördü. uyardığınız iyi oldu, gelişmiş bir altyapı üzerinde çalışıyorum. sorunsuz olması lazım tamam onada bi el atayım.

    ilginiz için tekrar teşşekkürler, Hayırlı geceler dilerim.
  • 21-03-2014, 01:59:33
    #6
    Chloetasarim adlı üyeden alıntı: mesajı görüntüle
    hocam çok teşşekkür ederim. işimi gördü. uyardığınız iyi oldu, gelişmiş bir altyapı üzerinde çalışıyorum. sorunsuz olması lazım tamam onada bi el atayım.

    ilginiz için tekrar teşşekkürler, Hayırlı geceler dilerim.
    rica ederim konudaki r10+ butonuna basarsanız sevinirim... Birde kullanacağımız fonksyionları ve bu gibi modifierleri kullanmadan önce php manualdan kontrol ediniz.. http://www.php.net/manual/tr/referen....modifiers.php yanlız kontrol ederken hem ingilizce hemde türkçe sayfasına bakınız http://www.php.net/manual/en/referen....modifiers.php bu gibi örnekte sadece uyarılar ingilizce sayfada olabiliyor. Türkçe sayfalar bazen tam çevrilmemiş olabiliyor...