Foros del Web » Programando para Internet » PHP »

Mostrar código

Estas en el tema de Mostrar código en el foro de PHP en Foros del Web. Hola, necesito mostrar el codigo de mi página de tal forma que los usuarios puedan modificarlo y variar así la página. El problema es que ...
  #1 (permalink)  
Antiguo 03/05/2010, 01:50
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Mostrar código

Hola,

necesito mostrar el codigo de mi página de tal forma que los usuarios puedan modificarlo y variar así la página. El problema es que deseo mostrar ese código de forma ordenada (tal como yo lo escribó al programar) y si fuera posible en colores.

Hasta ahora he sido capaz de mostrarlo con highlight_file("mipagina.php") pero no tengo la posibilidad de modificarlo.

Gracias.
  #2 (permalink)  
Antiguo 03/05/2010, 02:32
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 1 mes
Puntos: 40
Respuesta: Mostrar código

Tendrías que hacer que el código se muestre en un campo textarea, y después al darle a enviar que lleve a una página que con funciones como fopen y fwrite copie el código que habia en el textarea y elimine el anterior.

Si tienes alguna duda no dudes en preguntar. Un saludo
  #3 (permalink)  
Antiguo 03/05/2010, 02:42
Avatar de caricatos
Moderador
 
Fecha de Ingreso: abril-2002
Ubicación: Torremolinos (Málaga)
Mensajes: 19.607
Antigüedad: 22 años, 1 mes
Puntos: 1284
Respuesta: Mostrar código

Hola:

Si es código php no es nada recomendable, porque pueden colar códigos maintencionados, pero si el código es javascript, puedes ponerlo en un textarea como el ejemplo de esta página: Nuevo destripador, insertando el javascript con un include, o si viene del formulario poner el $_POST correspondiente, y si piensas en html también, mira el Probador de scripts .

Y la técnica es igual en ambos... con un textarea, ten en cuenta que los resaltadores de código, incluyen tags adicionales para cambiar estilos...

Saludos
__________________
Por favor:
No hagan preguntas de temas de foros en mensajes privados... no las respondo
  #4 (permalink)  
Antiguo 03/05/2010, 02:47
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Mostrar código

Al utilizar un textarea la posibilidad de que las etiquetas se muestren coloreadas desaparece (aunque esto en un momento dado podría no ser un problema).

Se me ocurren dos maneras de mostrar el código dentro del textarea pero ambas tienen otro inconveniente:

-Si guardo el código en una base de datos y desde hay lo muestro, este me saldrá escrito en plan "tochó" dificultando enormente su lectura.

-Si lo hago a través de la función highlight_file("mipagina.php") me aparecerán una serie de etiquetas que utiliza dicha función y que al sustituir el código de mi página por el del textarea realizaría modificaciones indeseadas.
  #5 (permalink)  
Antiguo 03/05/2010, 02:59
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 1 mes
Puntos: 40
Respuesta: Mostrar código

Utiliza highlight_string: http://es.php.net/manual/en/function.highlight-string.php
Lees el código de la página que quieras, pero lo lees mediante funciones para tratar archivos, como fopen, fread, etc, de esta manera tienes el código en una variable, a la hora de mostrarlo lo pasas por dicha función pero aún teniendo el código real en una variable, lo cual te permite tener el código sin etiquetas extras.

Un saludo
  #6 (permalink)  
Antiguo 04/05/2010, 04:46
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Mostrar código

No acabo de entender como utilizar la funcion que me comentas. He probado de distintas maneras pero no consigo el resultado que deseo.

Si pudieras ponerme un ejemplo de código para ver como se usa esta función me harías un favor.

Gracias.
  #7 (permalink)  
Antiguo 04/05/2010, 04:51
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 1 mes
Puntos: 40
Respuesta: Mostrar código

Simplemente tienes que tener el código en una variable y pasar le esa variable por parametro.

Código PHP:
<?php
$valor 
"<?php echo \"<p>Hola</p>\"; ?>";
highlight_string($valor);
?>
  #8 (permalink)  
Antiguo 04/05/2010, 05:41
 
Fecha de Ingreso: febrero-2010
Mensajes: 16
Antigüedad: 14 años, 2 meses
Puntos: 0
Respuesta: Mostrar código

¿Y como me recomiendas que meta el código fuente en la variable? ¿que función uso y como se usa?. Perdón por ser tan pesado...
  #9 (permalink)  
Antiguo 04/05/2010, 05:47
Avatar de Heli0s  
Fecha de Ingreso: abril-2010
Mensajes: 789
Antigüedad: 14 años, 1 mes
Puntos: 40
Respuesta: Mostrar código

Código PHP:
<?php
$f 
fopen("index.php""r");
while(!
feof($f)){
    
$buffer .= fgets($f);
}
highlight_string($buffer);
?>
De esa forma lees un archivo .php, tienes el código, y a la hora de mostrarlo son hightlight_string lo muestras en colores, pero sigues teniendo el código real en $buffer.

Un saludo

Etiquetas: Ninguno
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 04:47.