SSD - Basit BBCode Editör
Bir veriyi veritabanına kaydederken HTML, JS ve diğer kodlardan temizleyip kaydetmemiz site güvenliği açısından önemlidir. BBCode ise sadece sizin belirlediğiniz fonksiyonlar çerçevesinde çalışır. Bir programlama dili veya kodu değildir. Son derece güvenlidir. Bende uzun zaman önce bulduğum bir JS kodunu geliştirip BBCode Editör olarak kullanılabilir hale getirdim. 3 ayrı fonksiyon var bunlar bbc1, bbc2 ve bbc3.
- bbc1; <b> <i> gibi taglar için
- bbc2; <img src= /> gibi ayrı kapatma tagı olmayan taglar için.
- bbc3; <a href=></a> gibi kapatma tagı olan taglar için.
Kodlar çok basit ve kolayca kişiselleştirilebilir. (Benim gibi JS den anlamayanlar bile yapabilir)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | function bbc1(sec) {
ssd = document.getElementById("yazi-alani");
if (document.getSelection)
{
var once = ssd.value.substring(0, ssd.selectionStart);
var sonra = ssd.value.substr(ssd.selectionEnd);
var ara = ssd.value.substring(ssd.selectionStart, ssd.selectionEnd);
ssd.value = once + "[" + sec + "]" + ara + "[/" + sec + "]" + sonra; }
else
{
var ara = document.selection.createRange().text;
ssd.focus();
var sec = document.selection.createRange();
sec.text = "[" + sec + "]" + ara + "[/" + sec + "]"; }
return; }
function bbc2(sec) {
ssd = document.getElementById("yazi-alani");
if (document.getSelection)
{
var once = ssd.value.substring(0, ssd.selectionStart);
var sonra = ssd.value.substr(ssd.selectionEnd);
var ara = ssd.value.substring(ssd.selectionStart, ssd.selectionEnd);
ssd.value = once + "[" + sec + " url= /]" + sonra; }
else
{
var ara = document.selection.createRange().text;
ssd.focus();
var sec = document.selection.createRange();
sec.text = "[" + sec + " url= /]"; }
return; }
function bbc3(sec) {
ssd = document.getElementById("yazi-alani");
if (document.getSelection)
{
var once = ssd.value.substring(0, ssd.selectionStart);
var sonra = ssd.value.substr(ssd.selectionEnd);
var ara = ssd.value.substring(ssd.selectionStart, ssd.selectionEnd);
ssd.value = once + "[" + sec + " url=]" + ara + "[/" + sec + "]" + sonra; }
else
{
var ara = document.selection.createRange().text;
ssd.focus();
var sec = document.selection.createRange();
sec.text = "[" + sec + " url=]" + ara + "[/" + sec + "]"; }
return; } |
1 2 3 4 5 6 7 | <input type="button" onClick="bbc1('b');" value="Kalın" />
<input type="button" onClick="bbc2('img');" value="Resim"/>
<input type="button" onClick="bbc3('a');" value="Link"/>
<br />
<textarea id="yazi-alani" style="height: 100px; width: 500px;"></textarea> |
Ben taglar için buton kullandım, resim veya text linkte kullanılabilir. Kolay Gelsin.





























12 Aralık 2008 21:30
BBcode hem güvenilir hemde işleri kolaylartırıyor.
paylaşım için teşekkürler
Fatih Akdeniz
18 Aralık 2008 00:30
Hocam bunu kullanana kadar kaliteli bir text editörü kullansak olmaz mı? Bende text editör kullanmak daha mantıklı..
Ahmet
18 Aralık 2008 12:18
Eğer bir forum veya benzer sitemiz varsa kullanıcıların art niyetle zararlı kodlar kullanabileceğini düşünerek ( cümleye bak
) kullanmanın faydalı olacağını düşünüyorum. PhpBB Forum scripti bu şekil kullanıyor. Text editörü yönetim panellerinde kesinlikle kullanmak gerekli. BBCode kullanıcılar için alınmış bir önlem sadece.
Salih S. DEMİR
18 Aralık 2008 13:59
Hmm (: Bende yönetim paneline böyle bir şey ekliyorsunuz sandım. Özür (: Dediklerini de biliyorum ama ben BBCode editörünü admin panelinde kullanmak amaçlı bu yazıyı yazdığınızı düşündüm ve ondan bi tepki vereyim dedim (: Teşekkürler.
Ahmet
18 Aralık 2008 14:35
Aslında bir ara düşünmedim de değil
ama TinyMCE Editörü gördüm kullandım, çok güzel. Wordpress bile kullandığına göre…
Salih S. DEMİR