• 11-11-2010, 13:25:56
    #1
    Üyeliği durduruldu
    Merhabalar,

    PHP'de BBCode sistemi yapmam gerekiyor. Lâkin bu biraz farklı olmalı. Şöyle ki: (video=154) deyince, veritabanından 154. ID'ye sahip veriyi alıp link hâline getirecek. Yâni <a href="video.php?id=154">Video Başlığı</a>. Bunu nasıl yapabilirim?


    Hâlihazırdaki fonksiyonum:

    function BBCode($string) {
    $search = array(
        '@\[(?i)b\](.*?)\[/(?i)b\]@si',
        '@\[(?i)i\](.*?)\[/(?i)i\]@si',
        '@\[(?i)u\](.*?)\[/(?i)u\]@si',
        '@\[(?i)url=(.*?)\](.*?)\[/(?i)url\]@si'
    );
    $replace = array(
        '<b>\\1</b>',
        '<i>\\1</i>',
        '<u>\\1</u>',
        '<a href="\\1">\\2</a>'  
    );
    return preg_replace($search , $replace, $string);
    }
  • 11-11-2010, 13:34:03
    #2
    substr ile 154ü ordan çekip alırsın. Sonra html kodunu yazdırırsın. Phpclasses ta bbcode classları var. Kendin yazmak yerine onları da kullanabilirsin. http://www.phpclasses.org/search.htm...=0&go_search=1
  • 11-11-2010, 13:39:12
    #3
    regexp ile [video id=123]adi[/video] şeklinde bir eşleşme olup olmadığına bakarsın. idyi alabilirsin o şekilde çok kolay birşey.
  • 11-11-2010, 13:48:33
    #4
    Üyeliği durduruldu
    hozgune adlı üyeden alıntı: mesajı görüntüle
    substr ile 154ü ordan çekip alırsın. Sonra html kodunu yazdırırsın. Phpclasses ta bbcode classları var. Kendin yazmak yerine onları da kullanabilirsin. http://www.phpclasses.org/search.htm...=0&go_search=1
    Cycl0ne adlı üyeden alıntı: mesajı görüntüle
    regexp ile [video id=123]adi[/video] şeklinde bir eşleşme olup olmadığına bakarsın. idyi alabilirsin o şekilde çok kolay birşey.

    Video başlığını veritabanından çektikten sonra linke ekleyeceğim. Üstelik kullanıcı (video=155) abc (video=123) şeklinde birden fazla da yazabilir. Son olarak video,mp3, paylaşım gibi seçeneklerde var.
  • 11-11-2010, 15:14:04
    #5
    Üyeliği durduruldu
    regex ile yaparsınız

    .mp3 ise player basar ekrana
    yada flv ise flv player basar

    bir örnek yapalım mantığı anlarsınız
    $replace ='video?id=$1';
    $text = preg_replace("/\[hede=([0-9]*)\]/", $replace, $text);
    kullanım [hede=54] çıktı video?id=54