Ver Mensaje Individual
  #1 (permalink)  
Antiguo 07/08/2012, 15:59
Avatar de waldragon
waldragon
 
Fecha de Ingreso: mayo-2010
Mensajes: 735
Antigüedad: 14 años
Puntos: 55
Pregunta problema al colorear codigo

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 original
  1. function ColoreaCodigo($texto) {
  2. $texto = str_replace("", "", $texto);
  3. $texto = str_replace("", "", $texto);
  4. $texto = str_replace(">", ">", $texto);
  5. $texto = str_replace("<", "<", $texto);
  6. $texto = str_replace("&", "&", $texto);
  7. $texto = str_replace('$', '\$', $texto);
  8. $texto = str_replace('n', 'n', $texto);
  9. $texto = str_replace('r', 'r', $texto);
  10. $texto = str_replace('t', 't', $texto);
  11. $texto = str_replace('"', '"', $texto);
  12. $texto = str_replace('<?php', '<div id=recuadro><?php', $texto);
  13. $texto = str_replace('?>', '?></div>', $texto);
  14. $texto = stripslashes($texto);
  15. ob_start();
  16. $nivelviejo=error_reporting(0);
  17. highlight_string($texto);
  18. error_reporting($nivelviejo);
  19. $buffer = ob_get_contents();
  20. ob_end_clean();
  21. if ($variable) {
  22. $abrirpost = strpos($buffer,'<?');
  23. $cerrarpost = strrpos($buffer, '?');
  24. $buffer=substr($buffer, 0, $abrirpost).substr($buffer, $abrirpost+5, $cerrarpost-($abrirpost+5)).substr($buffer, $cerrarpost+5);
  25. }
  26. $buffer=str_replace("","",$buffer);
  27. $buffer=str_replace("","",$buffer);
  28. return $buffer;
  29. }

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
  1. $mitexto = ColoreaCodigo($texto);
  2. echo "$mitexto<br/>";

para ver como queda pueden verlo aqui:Este es el resultado de la coloreacion

Gracias, espero sus comentarios, saludos.