≡ Menu

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

About the author: Apapun yang Saya ketahui dan Saya bagikan. Semuanya berawal dari masa yang disebut pembelajaran.

{ 6 comments… add one }
  • someone August 30, 2017, 10:46 pm

    he mean is.. this code can work in textarea or not ?
    and in my opinion this code cam work.. we can use js or jq

    • rrobyf September 1, 2017, 10:13 am

      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.

  • dia anji April 28, 2016, 10:46 pm

    Bisa di pake di textarea kagak tuh gan?

    • rrobyf April 29, 2016, 1:41 am

      Mohon maaf, tapi kode yang tampil diatas telah digunakan mode highlight ya, jadi akan mudah untuk menyalin tanpa ada kesalahan dalam line.

  • Riyan Satria July 14, 2015, 4:53 pm

    Ini bisa dipake di textarea nggak gan?

    • rrobyf July 15, 2015, 11:04 am

      Kode diatas sudah ada di mode highlight 😀 Jadi mudah copasnya lewat PC.

Leave a Comment