Öncelikle iyi akşamlar,
Aşağıdaki basit BBCODE parser'i kullanıyorum.
//////////////////////////////
function bbc2html($content) {
$search = array (
'/([b])(.*?)([/b])/',
'/([i])(.*?)([/i])/',
'/([u])(.*?)([/u])/',
'/([ul])(.*?)([/ul])/',
'/([li])(.*?)([/li])/',
'/([URL])(.*?)([/URL])/',
'/([url])(.*?)([/url])/'
);
$replace = array (
'<strong>$2</strong>',
'<em>$2</em>',
'<u>$2</u>',
'<ul>$2</ul>',
'<li>$2</li>',
'<a href="$2" target="_blank">$4</a>',
'<a href="$2" target="_blank">$2</a>'
);
return preg_replace($search, $replace, $content);
}
//////////////////////////////Bir de java script ile butanlara tıklandığında bbkodları textarea içine include ediyorum: kısacası TinyMCE plugin'in basit bir versiyonu gibi düşünebilirsiniz. (ancak textarea dan oluşuyor contenteditable kullanmıyorum)
Daha doğrusu contenteditable kullanmak istemiyorum ve bu yüzden kendim yazmak istedim.
Çünkü database'e direkt bbcode olarak kayıt etmem gerekiyor. Veriyi çektikten sonra html taglara dönüştürüyorum.
Ancak sorun şu ki: içi boş "[b ] [/ b]" gibi bir tag veya yanlış tıklanmış "[b [ ]b
]örnek[/b[/]]" gibi bir tag'ı post ettiklerinde bunu temizlemek istiyorum "[b]örnek
" gibi saf hale getirmek veya içi boş ise tamamen silmek istiyorum. Bu işin içinden çıkılır mı? Yoksa hiç uğraşma ve bir bbcode script'i mi kullan dersiniz? Teşekkürler.