Yo ando en las mismas y no doy con el código. Me bajé este de algún lado pero no me sirve y sobre todo lo que más me interesa es colorear el código PHP.
  Código PHP:
    function BBCode($text){
  $bbcode = eregi_replace("\\[web=([^\\[]*)\\]([^\\[]*)\\[/web\\]", "<a target=\"_blank\" href=\"\\1\">\\2</a>", $text);
  $bbcode = eregi_replace("\\[web\\]([^\\[]*)\\[/web\\]","<a target=\"_blank\" href=\"\\1\">\\1</a>",$text);
  while($bucle<5) {
   $bbcode = eregi_replace("\\[u\\]([^\\[]*)\\[/u\\]","<u>\\1</u>",$text);
   $bbcode = eregi_replace("\\[i\\]([^\\[]*)\\[/i\\]","<em>\\1</em>",$text);
   $bbcode = eregi_replace("\\[b\\]([^\\[]*)\\[/b\\]","<strong>\\1</strong>",$text);
   $bucle++;
  }
   $bbcode = eregi_replace("\\[center\\]([^\\[]*)\\[/center\\]","<div align=center>\\1</div>", $text);
   $bbcode = eregi_replace("\\[right\\]([^\\[]*)\\[/right\\]","<div align=right>\\1</div>", $text);
   $bbcode = eregi_replace("\\[left\\]([^\\[]*)\\[/left\\]","<div align=left>\\1</div>", $text);
   $bbcode = eregi_replace("\\[justify\\]([^\\[]*)\\[/justify\\]","<div align=justify>\\1</div>", $text);
   $bbcode = eregi_replace("\\[cita\\]([^\\[]*)\\[/cita\\]","\n<div class=\"css_title\">Cita\n<div class=\"css\">\\1</div></div>", $text);
   preg_match_all ("/(\[)(php)(])(.*)(\[\/php\])/iU", $text, $l);
   for($i=0; $i< count($l[0]); $i++){
    $bbcode = str_replace($l[0][$i],PHPFormat($l[4][$i]),$text);
   }
   return $bbcode;
  }
#Funcion para código PHP
 function PHPFomrmat($php) {
  $php = str_replace("<br \>","\n",$php);
  ob_start();
  highlight_string($php);
  $cfinal = ob_get_contents();
  ob_end_clean();
  $keycol=ini_get("highlight.keyword");
  $manual="http://www.php.net/manual-lookup.php?lang=es&pattern=";
  $cfinal=preg_replace('{([\w_]+)(\s*</font>)'.
                       '(\s*<font\s+color="'.$keycol.'">\s*\()}m',
                       '<a href="'.$manual.'$1" title="Ayuda en PHP.net sobre $1" target="_blank">$1</a>$2$3',
                       $cfinal);
  return "<div class='ccs_title'>Código PHP:<div class='css'>".$cfinal."</div></div>";
 } 
    
  Si tu das con su forma de trabajo me avisas para que me expliques como es
Salu2  
