Foros del Web » Creando para Internet » HTML »

Colorear sintaxis php con highlight_file()

Estas en el tema de Colorear sintaxis php con highlight_file() en el foro de HTML en Foros del Web. Buenas, Estoy intentando mostrar en dentro de una página el código PHP de un script. Para ello utilizo la función de PHP highlight_file() Me funciona ...
  #1 (permalink)  
Antiguo 25/10/2009, 17:15
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Colorear sintaxis php con highlight_file()

Buenas,

Estoy intentando mostrar en dentro de una página el código PHP de un script. Para ello utilizo la función de PHP highlight_file()

Me funciona correctamente, lo que pasa es que el script tiene muchas lineas y me gustaría ponerle una barra de desplazamiento vertical y porqué no si hace falta una horizontal.

He pensado que la única forma de hacerlo es introducir la función highlight_file() dentro de un textarea y jugar con las propiedades de este.

Código php:
Ver original
  1. <textarea class="codigo">
  2. <?
  3. // Ver código PHP
  4. highlight_file("prueba.php");
  5. ?>
  6. </textarea>

El problema es que dentro del textarea aparece el código pero no coloreado


EJEMPLO de lo que se ve dentro del TEXTAREA

Código:
<code><span style="color: #000000">
<span style="color: #0000BB"><?php
<br /></span><span style="color: #007700">require(</span><span style="color: #DD0000">'fpdf.php'</span><span style="color: #007700">);
<br />
<br />class </span><span style="color: #0000BB">PDF </span><span style="color: #007700">extends </span><span style="color: #0000BB">FPDF
<br /></span><span style="color: #007700">{
<br /></span><span style="color: #FF8000">//Cabecera de página
<br /></span><span style="color: #007700">function </span><span style="color: #0000BB">Header</span><span style="color: #007700">()
<br />{
<br />    </span><span style="color: #FF8000">//Logo (margen izq, margen top, tamaño)
<br />    </span><span style="color: #0000BB">$this</span><span style="color: #007700">-></span><span style="color: #0000BB">Image</span><span style="color: #007700">(</span><span style="color: #DD0000">'logo-panelME.png'</span><span style="color: #007700">,</span><span style="color: #0000BB">10</span><span style="color: #007700">,</span><span style="color:
¿Sabéis como puedo hacer para ver los colores dentro del textarea?
o
¿Cómo hacer para hacer aparecer una barra desplazadora vertical para código muy largos?

Muchas gracias de antemano
  #2 (permalink)  
Antiguo 25/10/2009, 18:44
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 15 años, 11 meses
Puntos: 2534
Respuesta: Colorear sintaxis php con highlight_file()

Cita:
Iniciado por neodani Ver Mensaje
[...] ¿Sabéis como puedo hacer para ver los colores dentro del textarea? [...]
jeje... un <textarea/> así jamas va a soportar colores!! es para visualizar texto, y aún siendo HTML ... se considera texto

Cita:
Iniciado por neodani Ver Mensaje
[...] ¿Cómo hacer para hacer aparecer una barra desplazadora vertical para código muy largos? [...]
para que salgan los scrolls... debes meter tu código en un <div/>, con la propiedad de estilo overflow:auto (pero eso es CSS)

también puedes colocar un alto, y ancho, tu decides...

NOTA que tu problema no es de PHP, suerte!!!
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 25/10/2009, 18:57
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 6 meses
Puntos: 31
Respuesta: Colorear sintaxis php con highlight_file()

Un ejemplo así como te dice pateketrueke

Código HTML:

<div class="TextView" style="border: 1px inset ; overflow: auto; width: 400px; height: 150px; text-align: left;">
<pre>
<?php 
highlight_file("prueba.php");
?>
</pre>
</div>

__________________
╬-----╬
║☺₧☻║
╬-----╬
  #4 (permalink)  
Antiguo 26/10/2009, 00:43
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Respuesta: Colorear sintaxis php con highlight_file()

Cita:
Iniciado por thezzin Ver Mensaje
Un ejemplo así como te dice pateketrueke

Código HTML:

<div class="TextView" style="border: 1px inset ; overflow: auto; width: 400px; height: 150px; text-align: left;">
<pre>
<?php 
highlight_file("prueba.php");
?>
</pre>
</div>

Perfecto! Muchas gracias pateketrueke y thezzin.

Ahora solo me falta numerar las lineas...

Saludos!
  #5 (permalink)  
Antiguo 26/10/2009, 09:41
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Tema movido desde PHP a (X)HTML
  #6 (permalink)  
Antiguo 26/10/2009, 14:24
Avatar de abimaelrc
Colaborador
 
Fecha de Ingreso: mayo-2009
Ubicación: En el planeta de Puerto Rico
Mensajes: 14.734
Antigüedad: 14 años, 10 meses
Puntos: 1517
Respuesta: Colorear sintaxis php con highlight_file()

Te sugiero que mires este ejemplo de GatorV, muy bueno http://web2development.blogspot.com/...n-blogger.html
__________________
Verifica antes de preguntar.
Los verdaderos amigos se hieren con la verdad, para no perderlos con la mentira. - Eugenio Maria de Hostos
  #7 (permalink)  
Antiguo 26/10/2009, 15:16
Avatar de neodani  
Fecha de Ingreso: marzo-2007
Mensajes: 1.811
Antigüedad: 17 años
Puntos: 20
Respuesta: Colorear sintaxis php con highlight_file()

Cita:
Iniciado por abimaelrc Ver Mensaje
Te sugiero que mires este ejemplo de GatorV, muy bueno http://web2development.blogspot.com/...n-blogger.html
Gracias por el enlace ;)

Lo conseguí utilizando lo siguiente:

Código php:
Ver original
  1. <?php
  2. function highlight_num($file)
  3. {
  4.     $lines = implode(range(1, count(file($file))), '<br />');
  5.     $content = highlight_file($file, true);
  6.     echo "<table><tr><td class=\"num\">\n$lines\n</td><td>\n$content\n</td></tr></table>";
  7. }
  8. ?>
  9.  
  10. <div class="TextView">
  11. <pre>
  12. <?php
  13. highlight_num('prueba.php');
  14. ?>
  15. </pre>
  16. </div>
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:22.