Skip to content

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]',
        '[img](.*?)[/img]',
        '[url=(.*?)](.*?)[/url]',
        '[code](.*?)[/code]'
    );
    $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

TR Kodlama GitHub'da!

TR Kodlama'da yer alan makaleleri GitHub üzerinden düzenleyebileceğinizi biliyor muyudunuz? Harika değil mi? Bu makale ile ilgili düzenleme yapmak isterseniz aşağıdaki butona tıklayınız!

GitHub'da Görüntüle ve Düzenle!