Buenas, estoy usando un script que encontre por ahi para colorear codigo php, y si bien colorea perfectamente todo lo que este encerrado entre <?php y ?> , tiene el problema de que imprime los saltos de linea <br/> y los <b> </b> , los saltos lo hace bien, pero el texto en negrita no se muestra, les muestro el codigo a ver que opinan...
Código PHP:
Ver originalfunction ColoreaCodigo($texto) {
$texto = str_replace("", "", $texto);
$texto = str_replace("", "", $texto);
$texto = str_replace(">", ">", $texto);
$texto = str_replace("<", "<", $texto);
$texto = str_replace("&", "&", $texto);
$texto = str_replace('$', '\$', $texto);
$texto = str_replace('n', 'n', $texto);
$texto = str_replace('r', 'r', $texto);
$texto = str_replace('t', 't', $texto);
$texto = str_replace('"', '"', $texto);
$texto = str_replace('<?php', '<div id=recuadro><?php', $texto);
$texto = str_replace('?>', '?></div>', $texto);
$texto = stripslashes($texto);
ob_start();
$nivelviejo=error_reporting(0);
highlight_string($texto);
error_reporting($nivelviejo);
$buffer = ob_get_contents();
ob_end_clean();
if ($variable) {
$abrirpost = strpos($buffer,'<?');
$cerrarpost = strrpos($buffer, '?');
$buffer=substr($buffer, 0, $abrirpost).substr($buffer, $abrirpost+5, $cerrarpost-($abrirpost+5)).substr($buffer, $cerrarpost+5);
}
$buffer=str_replace("","",$buffer);
$buffer=str_replace("","",$buffer);
return $buffer;
}
Como ven, el texto a tratar esta en una variable $texto, la cual descargo de una bd y lo imprimo asi:
Código PHP:
Ver original$mitexto = ColoreaCodigo($texto);
echo "$mitexto<br/>";
para ver como queda pueden verlo aqui:
Este es el resultado de la coloreacion
Gracias, espero sus comentarios, saludos.