BBCODE с PHP
Публикувана от smilev на January 12 2011 10:50:13

Разширена новина
Кода работи като се дефинира една функция, на която може и се подава текста, в който има bbcode. Функцията го обработва и заменя bbcode-а с хтмл код, който сте описали.

PHP Код:
<!-- php buffer start -->function BBCODE($bbcode)
{
// bbcode кодовете, който ще бъдат заменени..
$bbc_a=array("[str]","[/str]","[b]","[/b]","[u]","[/u]","[big]","[/big]","[huge]","[/huge]","[email]","[/email]","[url]","[/url]","[red]","[/red]","[orange]","[/orange]","[green]","[/green]","[blue]","[/blue]");

//html съответствията, с които ще се замени bbcode-а
$bbc_b=array("<strike>","</strike>","<b>","</b>","<u>","</u>","<font size=4>","</font>","<font size=8>","</font>","<a href="mailto:","">E-MAIL LINK</a>","<a href="","" target="blank">WEB LINK</a>","<font color=#ff6666>","</font>","<font color=#ffaa66>","</font>","<font color=#66ff66>","</font>","<font color=#6666ff>","</font>");

$bbc_num=count($bbc_a);
$loop=0;
while($loop<$bbc_num)
{
$bbcode=str_replace($bbc_a[$loop], $bbc_b[$loop], $bbcode);
$loop++;
}


return $bbcode;
}
<!-- php buffer end -->
Сега като искате да обработите стринг (текст) и да конвертирате bbcode-a в хтмл трябва единствено да да имате променлива, която се подава към функцията.
PHP Код:
<!-- php buffer start -->$string = "hi this is [b]BOLD[/b]";
$string = BBCODE($string);
echo $string;
<!-- php buffer end -->
Резултат:

html кода ще е: hi this is <b>Bold</b>
това което ще видите в браузъра: hi this is Bold