• 27-10-2017, 16:56:29
    #1
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Merhabalar,
    function ara($bas, $son, $icerik){
        @preg_match_all('/' . preg_quote($bas, '/') .
        '(.*?)'. preg_quote($son, '/').'/i', $icerik, $m);
        return @$m[1];
    }
    Bu yazdığım fonksiyon ile $bas(başlıngıç noktası) ve $son(bitiş noktası) arasındaki veriyi almak istiyorum. Örneğin $içerik = Merhaba yeni dünya ! olsun.
    $bas = Merhaba
    $son = dünya !
    Burada döndüreceği sonuç yeni oluyor. Ancak ben içeriğe tek tırnak işareti eklersem mesela içeriği Merhaba'lar yeni dünya ! yaparsam problem oluyor. İçeriğin içerisinde kaç tane tek tırnak olur bilmiyorum, değişken.
    Nasıl yapabilirim ? Teşekkürler.
  • 27-10-2017, 17:12:52
    #2
    DAVUT adlı üyeden alıntı: mesajı görüntüle
    Merhabalar,
    function ara($bas, $son, $icerik){ @preg_match_all('/' . preg_quote($bas, '/') . '(.*?)'. preg_quote($son, '/').'/i', $icerik, $m); return @$m[1]; }
    Bu yazdığım fonksiyon ile $bas(başlıngıç noktası) ve $son(bitiş noktası) arasındaki veriyi almak istiyorum. Örneğin $içerik = Merhaba yeni dünya ! olsun.
    $bas = Merhaba
    $son = dünya !
    Burada döndüreceği sonuç yeni oluyor. Ancak ben içeriğe tek tırnak işareti eklersem mesela içeriği Merhaba'lar yeni dünya ! yaparsam problem oluyor. İçeriğin içerisinde kaç tane tek tırnak olur bilmiyorum, değişken.
    Nasıl yapabilirim ? Teşekkürler.
    Hocam tam emin olmamakla birlikte htmlentities fonksiyonu işinizi görebilir.
  • 29-10-2017, 22:58:13
    #3
    Regular expression konusunda biraz araştırma yapın bu yazdığınız fonksiyon ile regex kullanamazsınız gelen değişkeni preg_quote ile escape ediyorsunuz zaten öncelikli olarak istediğiniz işlemlerin mantğını tam oturtmanızı öneririm.
  • 31-10-2017, 12:47:01
    #4
    Eğer yanlış anlamadıysam aşağıdaki fonksiyonda işinizi görür gibime geliyor denemedim.

    function ara($bas, $son, $icerik){ 
    $bol = explode($bas,$icerik);
    $bol2 = explode($son,$bol[1]);
    return $bol2[0];
    }