2 функции.
Первая для преобразования bbcod\'ов в html, вторая наоборот (необходима при редактировании сообщения содержащее bbcode).

                        
 <?php

function bbcode($var = '')

{

$var = strip_tags($var);

$var = ereg_replace("&", "&amp;", $var);

$var = ereg_replace("\[br\]", "<br/>", $var);

$var = preg_replace('#\[b\](.*?)\[/b\]#si', '<span style="font-size: 20px">\1</span>', $var);

$var = preg_replace('#\[img\](.*?)\[/img\]#si', '<a href=\"\1\" title=\"Нажмите для масштабирования\"><img src=\"\1\" width=\"100\" height=\"100\" alt=\"Картинка\"/></a>', $var);

$var = preg_replace('#\[i\](.*?)\[/i\]#si', '<i>\1</i>', $var);

$var = preg_replace('#\[u\](.*?)\[/u\]#si', '<u>\1</u>', $var);

$var = preg_replace('#\[s\](.*?)\[/s\]#si', '<strike>\1</strike>', $var);

$var = preg_replace('#\[red\](.*?)\[/red\]#si', '<font color="#ff7900">\1</font>', $var);

$var = preg_replace('#\[green\](.*?)\[/green\]#si', '<font color="#00FF00">\1</font>', $var);

$var = preg_replace('#\[blue\](.*?)\[/blue\]#si', '<font color="#0000FF">\1</font>', $var);

$var = preg_replace('#\[url=(.*?)\](.*?)\[/url\]#si', '<a href="\1">\2</a>', $var);

return $var;

}

function html2bbcode($var = '')

{

$var = ereg_replace("&amp;", "&", $var);

$var = ereg_replace("\<br/\>", "[br]", $var);

$var = preg_replace('#\<span style=\"font-size: 20px\"\>(.*?)\</span\>#si', '<strong>\1</strong>', $var);

$var = preg_replace('#\<a href=\"(.*?)\" title=\"Нажмите для масштабирования\"\>\<img src=\"(.*?)\" width=\"50\" height=\"50\"\ alt=\"Картинка\"/>\</a\>#si', '[img]\1[/img]', $var);

$var = preg_replace('#\<i\>(.*?)\</i\>#si', '<em>\1</em>', $var);

$var = preg_replace('#\<u\>(.*?)\</u\>#si', '<span style="text-decoration:underline;">\1</span>', $var);

$var = preg_replace('#\<strike\>(.*?)\</strike\>#si', '[s]\1[/s]', $var);

$var = preg_replace('#\<font color=\"\#ff7900\"\>(.*?)\</font\>#si', '<span style="color:#ff0000;">\1</span>', $var);

$var = preg_replace('#\<font color=\"\#00FF00\"\>(.*?)\</font\>#si', '<span style="color:#00bb00;">\1</span>', $var);

$var = preg_replace('#\<font color=\"\#0000FF\"\>(.*?)\</font\>#si', '<span style="color:#0000bb;">\1</span>', $var);

$var = preg_replace('#\<a href=\"(.*?)\"\>(.*?)\</a\>#si', '[url=\1]\2[/url]', $var);

return $var;

}

?>
0 9 0
Без комментариев...