Prueba este código:
Código PHP:
Ver originalfunction bbcode2html($cadena){
$BoxStyle = ' style="border:1px solid #ccc;padding:5px;margin:3px;"';
$bbcode[] = '/\[code\](.*)\[\/code\]/se';
$html[] = "'Codigo: <div $BoxStyle>'.highlight_string(stripslashes('$1'), true).'</div>'";
return $cadena;
}
La clave estaba en el
flag e, que evalúa la parte a reemplazar ($html) como si fuera código fuente, cosa totalmente necesaria para la función
highlight_string con el parámetro de retorno puesto en
true. La etiquete
<pre> la he cambiado por
<div> ya que la función
highlight_string implica la conversión de espacios, saltos de línea, etc., por sus respectivas entidades html.