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