BBkod hadisesi nasıl yapılır diyenler için bir tane bbkod fonksiyonu yayınlıyorum. Fonksiyonu kullanmak oldukça basit. Ayrıca bbkod standartlarını kullanacaksınız diye bir kaide yok. Siz istediğiniz kodlama standardını oluşturabilirsiniz. Örneğin BBkod standartlarında bir yazıyı kalınlaştırmak için ayraçları kullanılır. Bu ayraçlar html’deki < b>< /b> şekline php tarafından çevirilir. Bu çevirme işlemini str_replace(); fonksiyonu gerçekleştirir.
Bu fonksiyonu str_replace("aranan ifade","yerine koyulacak ifade", "cümle"); şeklinde açıklayabiliriz. BBkod ile canlı örnek yapacak olursak , örneğin yazı kalınlaştırmak için;
Tabi ayraçları kapatmak için ayrı bir str_replace fonksiyonuna ihtiyacımız olur. Bu açıdan siz kendi istediğiniz ayraçları kullanabilirsiniz. Tabi fonksiyonda yerine koyacağınız ifade html olmalıdır. Bir örnek ile onuda açıkladıktan sonra aşağıya fonksiyonu yazacağım.
Örnek: biz “” yerine “-KALIN-” ifadesini kullanmak istiyoruz. O zaman şu şekilde bir yapı oluşturmalıyız.
Fonksiyonumuz ideal bir bbkod fonksiyonudur. Peki bunu veritabanından gelen içerikle nasıl ilişkilendirecez şekline bir soru soracak olursanız, basir bir örnek ile şu şekilde cevap verebilirim:
kullanımı:
bbkod.php:
Bu fonksiyonu str_replace("aranan ifade","yerine koyulacak ifade", "cümle"); şeklinde açıklayabiliriz. BBkod ile canlı örnek yapacak olursak , örneğin yazı kalınlaştırmak için;
Kod:
str_replace("[b]","< b.>“, $cumle);
gibi bir yapı ile çalışabiliriz.
gibi bir yapı ile çalışabiliriz.
Tabi ayraçları kapatmak için ayrı bir str_replace fonksiyonuna ihtiyacımız olur. Bu açıdan siz kendi istediğiniz ayraçları kullanabilirsiniz. Tabi fonksiyonda yerine koyacağınız ifade html olmalıdır. Bir örnek ile onuda açıkladıktan sonra aşağıya fonksiyonu yazacağım.
Örnek: biz “” yerine “-KALIN-” ifadesini kullanmak istiyoruz. O zaman şu şekilde bir yapı oluşturmalıyız.
Kod:
str_replace("-KALIN-", "< b.>“, $cumle); gibi olabilir.
Fonksiyonumuz ideal bir bbkod fonksiyonudur. Peki bunu veritabanından gelen içerikle nasıl ilişkilendirecez şekline bir soru soracak olursanız, basir bir örnek ile şu şekilde cevap verebilirim:
kullanımı:
Kod:
<?
// bbkod.php fonksiyon kütüphanemizi yükleyelim
require("bbkod.php");
// while ile veritabanından gelen verileri döngüye sokalım
while ( $sira = mysql_fetch_array($kayitlar) )
{
// veri tabanında bir makale içeriği olsun farz edelim ve bunu $sira["makale"] dizi değişkenine eşit olduğunu düşünelim
// bbkod adındaki bbkod fonksiyonumuzu aşağıdaki gibi ilişkilendirebilirsiniz.
echo bbkod($sira["makale"]);
// hepinize kolay gelsin. bol kodlu günlere. parmaklara kuvvet
}
?>
// bbkod.php fonksiyon kütüphanemizi yükleyelim
require("bbkod.php");
// while ile veritabanından gelen verileri döngüye sokalım
while ( $sira = mysql_fetch_array($kayitlar) )
{
// veri tabanında bir makale içeriği olsun farz edelim ve bunu $sira["makale"] dizi değişkenine eşit olduğunu düşünelim
// bbkod adındaki bbkod fonksiyonumuzu aşağıdaki gibi ilişkilendirebilirsiniz.
echo bbkod($sira["makale"]);
// hepinize kolay gelsin. bol kodlu günlere. parmaklara kuvvet
}
?>
bbkod.php:
Kod:
<?php
//bbkod
function bbkod($message) {
// veri güvenliğini sağlayalım
$message = stripslashes(str_replace("<", "<", str_replace(">", ">", $message)));
// nl2br fonksiyonu ile satır başlarını <br> ye çevirelim
$message = nl2br($message);
$message = str_replace("[url=javascript", "[url=NOHACK", $message);
$message = str_replace("[b]", "<b>", $message);
$message = str_replace("[/b]", "</b>", $message);
$message = str_replace("[i]", "<i>", $message);
$message = str_replace("[/i]", "</i>", $message);
$message = str_replace("[u]", "<u>", $message);
$message = str_replace("[/u]", "</u>", $message);
$message = str_replace("[p]", "<p>", $message);
$message = str_replace("[/p]", "</p>", $message);
$message = str_replace("[center]", "<div align="center">", $message);
$message = str_replace("[/center]", "</div>", $message);
$message = str_replace("[left]", "<div align="left">", $message);
$message = str_replace("[/left]", "</div>", $message);
$message = str_replace("[right]", "<div align="right">", $message);
$message = str_replace("[/right]", "</div>", $message);
$message = str_replace("[list]", "<ol>", $message);
$message = str_replace("[li]", "<li>", $message);
$message = str_replace("[/list]", "</ol>", $message);
$message = str_replace("[br]", "<br>", $message);
$message = eregi_replace("[img]([^\[]*)[/img]", "<img src="\1" border="0">", $message);
$message = eregi_replace("[url=http://([^\[]*)]([^\[]*)[/url]", "<a class="post" href="http://\1">\2</a>", $message);
$message = eregi_replace("[url=ftp://([^\[]*)]([^\[]*)[/url]", "<a class="post" href="ftp://\1">\2</a>", $message);
$message = eregi_replace("[url=ed2k://(.+)](.+)[/url]", "<a class="post" href="ed2k://\1">\2</a>", $message);
$message = eregi_replace("[url=([^\[]*)]([^\[]*)[/url]", "<a class="post" href="http://\1">\2</a>", $message);
$message = eregi_replace("[url]http://([^\[]*)[/url]", "<a class="post" href="\1">\1</a>", $message);
$message = eregi_replace("[url]([^\[]*)[/url]", "<a class="post" href="http://\1">\1</a>", $message);
// smiley ekleyelim, siz istediğiniz kadar ekleyebilirsiniz.
// smiley dizinini resimler/ifadeler şeklinde salladım. siz kendinize göre düzenlersiniz
$message = str_replace(":)", "<img src="resimler/ifadeler/1.gif" border="0">", $message);
$message = str_replace(":-)", "<img src="resimler/ifadeler/2.gif" border="0">", $message);
$message = str_replace(":(", "<img src="resimler/ifadeler/1.gif" border="0">", $message);
$message = str_replace(":-(", "<img src="resimler/ifadeler/3.gif" border="0">", $message);
$message = str_replace(":D", "<img src="resimler/ifadeler/4.gif" border="0">", $message);
return $message;
}
?>
//bbkod
function bbkod($message) {
// veri güvenliğini sağlayalım
$message = stripslashes(str_replace("<", "<", str_replace(">", ">", $message)));
// nl2br fonksiyonu ile satır başlarını <br> ye çevirelim
$message = nl2br($message);
$message = str_replace("[url=javascript", "[url=NOHACK", $message);
$message = str_replace("[b]", "<b>", $message);
$message = str_replace("[/b]", "</b>", $message);
$message = str_replace("[i]", "<i>", $message);
$message = str_replace("[/i]", "</i>", $message);
$message = str_replace("[u]", "<u>", $message);
$message = str_replace("[/u]", "</u>", $message);
$message = str_replace("[p]", "<p>", $message);
$message = str_replace("[/p]", "</p>", $message);
$message = str_replace("[center]", "<div align="center">", $message);
$message = str_replace("[/center]", "</div>", $message);
$message = str_replace("[left]", "<div align="left">", $message);
$message = str_replace("[/left]", "</div>", $message);
$message = str_replace("[right]", "<div align="right">", $message);
$message = str_replace("[/right]", "</div>", $message);
$message = str_replace("[list]", "<ol>", $message);
$message = str_replace("[li]", "<li>", $message);
$message = str_replace("[/list]", "</ol>", $message);
$message = str_replace("[br]", "<br>", $message);
$message = eregi_replace("[img]([^\[]*)[/img]", "<img src="\1" border="0">", $message);
$message = eregi_replace("[url=http://([^\[]*)]([^\[]*)[/url]", "<a class="post" href="http://\1">\2</a>", $message);
$message = eregi_replace("[url=ftp://([^\[]*)]([^\[]*)[/url]", "<a class="post" href="ftp://\1">\2</a>", $message);
$message = eregi_replace("[url=ed2k://(.+)](.+)[/url]", "<a class="post" href="ed2k://\1">\2</a>", $message);
$message = eregi_replace("[url=([^\[]*)]([^\[]*)[/url]", "<a class="post" href="http://\1">\2</a>", $message);
$message = eregi_replace("[url]http://([^\[]*)[/url]", "<a class="post" href="\1">\1</a>", $message);
$message = eregi_replace("[url]([^\[]*)[/url]", "<a class="post" href="http://\1">\1</a>", $message);
// smiley ekleyelim, siz istediğiniz kadar ekleyebilirsiniz.
// smiley dizinini resimler/ifadeler şeklinde salladım. siz kendinize göre düzenlersiniz
$message = str_replace(":)", "<img src="resimler/ifadeler/1.gif" border="0">", $message);
$message = str_replace(":-)", "<img src="resimler/ifadeler/2.gif" border="0">", $message);
$message = str_replace(":(", "<img src="resimler/ifadeler/1.gif" border="0">", $message);
$message = str_replace(":-(", "<img src="resimler/ifadeler/3.gif" border="0">", $message);
$message = str_replace(":D", "<img src="resimler/ifadeler/4.gif" border="0">", $message);
return $message;
}
?>






