Reklam
BBCode Kodunu HTML’e Çevirme

BBCode Kodunu HTML’e Çevirme

Merhaba arkadaşlar

Bu fonksiyon ile [b]..[/b] arasına yazılanları kalın, [i]…[/i] arasına yazılanları italik vs. olarak ekrana nasıl yazdırağımızı anlatıyorum. Bunun için basit bir fonksiyon yazmamız yeterli olacaktır.

Öncelikle fonksiyon.php dosyamızı oluşturalım ve için BBCode isimli bir fonksyion oluşturalım.

Düzenli ifadeleri kullanarak bir arama ve yerine yerleştirme işlemi ile rahatlıkla bu fonksiyomnumuzu yazabiliriz.

<?php
function BBCode ($string) {
    $search = array(
        '[b](.*?)[/b]',
        '[i](.*?)[/i]',
        '[u](.*?)[/u]',
        '',
        '[url=(.*?)](.*?)[/url]',
        '
(.*?)
' ); $replace = array( '<strong>1</strong>', '<em>1</em>', '<span style="text-decoration: underline">1</span>', '<img src="1" alt="">', '<a href="1">2</a>', '<code>1</code>' );return preg_replace($search, $replace, $string); } ?>

İşte bu kadar artık bu fonksiyonumuz kullanılmaya hazır. Kullanımı da aşağıdaki şekilde olacaktır.

<?php
echo BBCode('Bu yazının tam olara [b]bu kısmı(!)[/b] kalın yazılacaktır!');
?>

Yukarıdaki PHP komutunun ekran çıktısı: “Bu yazının tam olara bu kısmı(!) kalın yazılacaktır!” şeklinde olacaktır. PHP’nin PECL eklentisi var BBCode’larla ilgili. Detaylı bilgi için tıklayınız.

Kolay gelsin


3 Yorum
  1. Pyrotoxin 5 seneönce
    Cevapla

    merhaba çalıştırdığımda Warning: preg_replace() [function.preg-replace]: Unknown modifier ‘(‘ in fonksiyon.php on line 19

    hatasını alıyorum :/

  2. Phpci_Cocuk 5 seneönce
    Cevapla

    Merhaba arkadaşlar.Yazdığım sistemde yazıya yapılan yorumlar var.Ben burada bir yorumu alıntı yapmak istiyorum.

    İstediğim Alıntı Örneği : http://www.dhtmlgoodies.com/index.html?whichScript=dhtmlgoodies_tabmenu bu sayfada mevcut (sayfanın altındaki yorumlara bakarsanız yorumun alt sağ köşesindeki resmine tıklanınca olanları görebilirsiniz)

    Aslında mantığını tam olarak kavrayamadım. Yukarıda verdiğim sitenin kaynak kodlarını karıştırdım. Örneğin bir yorumu alıntı yapmak için şu kodlar kullanılmış:

    quote_comment(); fonksiyonu ve yoruma ait diğer fonksiyonlar ise

    comment.js adlı dosyada:

    var comm_ajax_timer_id = 0;
    
    function hide_all()
    {
        $comm("#comments").hide();
    }
    
    
    function click_checkbox(check_id)
    {
        check_handle = document.getElementById(check_id);
        check_handle.checked = !check_handle.checked;
    }
    
    
    function update_preview()
    {
        var name = nl2br(strip_tags($comm("#comment-form-name").val()));
        var email = nl2br(strip_tags($comm("#comment-form-email").val()));
        var website = nl2br(strip_tags($comm("#comment-form-website").val()));
        var cmt = $comm("#comment-form-comment").val();
        cmt = cmt.replace(

    devamı kayıptır..

    • Oral ÜNAL 5 seneönce
      Cevapla

      Hiçbirşey anlamadım desem yeridir :)

Yorum Yapın

Eposta adresiniz görünmeyecektir.

16 + dört =