Hani genellikle forumlarda mesaj yazarken [url] [b] … gibi kodlar ullanırız ve bunlara bbcode dendiğini biliriz ama bunun mantığı nedir ? Bu yazıda kodların bu mantık kullanılarak nasıl renklendirildiğini göreceksiniz.
Burada [ phpkod] [/ phpkod] kodları arasına yazılan yazıyı php kurallarına göre renklendirir.
1 2 3 4 5 6 7 |
function bbcode($s) { $s = str_replace("]n", "]", $s); $match = array('(\[phpkod\](.*?)\[/phpkod\])se'); $replace = array("''.highlight_string(stripslashes('$1'), true).''"); return preg_replace($match, $replace, $s); } //örnek $metin = "[phpkod]echo 'yakuter';[/phpkod]"; echo bbcode($metin); |
Elimize gelen yazıyı $s değişkenine atıyoruz. Bu $s değişkeninin içinde [ phpkod] [/ phpkod] kısımlarını buluyoruz ve arasındaki yazıyı yani kodu highlight fonksiyonu ile renklendirerek yeniden $s değişkeninin içine gömüyoruz. Son olarak ekrana yansıtıyoruz.