Tutorial Membuat Fungsi BBCode Sederhana Dengan PHP

BB-Code Logo

Pada dasarnya BB-code digunakan untuk menuliskan suatu kode lebih mudah dan tidak memerlukan bantuan tags lain seperti HTML, jadi dapat langsung otomatis merubahnya dari kode yang telah dipakainya.

BB-Code terbiasa digunakan pada CMS berbentuk forum dan hingga saat ini banyak situs yang memanggil BB-code dengan sebutan Forum Codes. Seperti pada vBulletin, Simple Machine, dan vanilla juga memakai bbcode pada penulisan beberapa tags HTML.

Yang didukung pada BB-Code biasanya adalah: bold, underline, italic, url, userID, forumID. Dan semua itu dipanggil dengan tanda kurung berbentuk [ dan ]. Pembuatan fungsi seperti itu sangatlah mudah dan jika ingin membuatnya, silahkan amati dahulu kode dibawah ini.!

Fungsi BB-Code

<?php
$bbcode = array("/[b](.*?)[/b]/is" => "<b>$1</b>",
"/[s](.*?)[/s]/is" => "<s>$1</s>",
"/[i](.*?)[/i]/is" => "<i>$1</i>",
"/[u](.*?)[/u]/is" => "<u>$1</u>",
"/[url=(.*?)](.*?)[/url]/is" => "<a href="$1">$2</a>");
?>

Contoh penulisan konten

<?php
$konten = '[url=http://situs.url]LINK[/url]';
?>

Pemanggilan Konten

<?php
$konten = preg_replace(array_keys($bbcode), array_values($bbcode), $konten);
?>

Ada tiga struktur yang digunakan untuk membuat fungsi BB-Code lebih mudah, dimulai yang pertama yaitu fungsi awal pada string $bbcode dipakai sebagai array supaya dapat dipanggil dengan mudah dari key dan valuenya, Memakai kode regexp karena nantinya memakai preg_replace untuk menampilkanya.
Yang kedua yakni isi konten yang memakai string $konten, disitu dipraktekan untuk menggunakan kode URL saja.
Yang ketiga yaitu penampilan dari string $konten yang memakai 3 fungsi manual PHP: preg_replace, array_keys, dan array_values, jadi intinya preg_replace akan mengubah kode dari array_values menjadi array_keys yang terletak pada string $bbcode.

Tidaklah sulit untuk memahami kode diatas, dan jika diamati dengan teliti, ini hanya sebatas mengubah kode satu menjadi kode dua, dan seterusnya. Untuk menambahkan kode BB-Code lain, silahkan tambahkan kode seperti dibawah ini menuju array pada string $bbcode.

"/[kode](.*?)[/kode]/is" => "<kode>$1</kode>",
"/[anu](.*?)[/anu]/is" => "<anu>$1</anu>");

Silahkan ganti dengan format tags yang diinginkan, apabila ingin menambahkan kode lain dibawahnya silahkan tambahkan tanda comma diakhir values seperti diatas dan jangan lupa diakhiri dengan tutup kurung dan titik dua koma.

Cara ini juga bisa dibuat sebagai smilies emoticon, cukup dirubah pada array dan dapat dikreasikan sendiri 😀

Semoga bermanfaat dan Selamat mencoba

6 comments
    1. Oh iya, Saya tidak begitu sadar saat itu. Kode diatas dapat berfungsi juga meski berada pada tags “textarea” karena sistem akan langsung mengeksekusi dan menggantinya seketika.

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *