Foros del Web » Programando para Internet » PHP »

highlight_file y textarea

Estas en el tema de highlight_file y textarea en el foro de PHP en Foros del Web. Hola a [email protected]: Tengo un problema que es el que sigue: de una pagina envio a traves de get el paht y nombre de un ...
  #1 (permalink)  
Antiguo 29/03/2005, 11:54
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 0
highlight_file y textarea

Hola a [email protected]:
Tengo un problema que es el que sigue:
de una pagina envio a traves de get el paht y nombre de un archivo .php
Quiero editar dicho archivo y para eso he utilizado highlight_file($archivo);
Funciona ala perfeccion pero.... cuando lo introduzco en un textarea el codigo no se corresponde con el archivo, vamos que no es literal.
Mi pregunta es.
¿Sabeis como meter highlight_file($archivo); o similar en un textarea?
para poder posteriormente guardar dicho codigo en una variable?
No me importa que Salga a colores, lo que si importa es que sea literal y formateado (como esté en el archivo).
Gracias por vuestra paciencia
Un Saludo
__________________
Hay tanto que aprender y tan poco tiempo
  #2 (permalink)  
Antiguo 29/03/2005, 15:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
A que te refieres con que el código no es "literal"? .. La función que mencionas obtiene un HTML de archivo que lees (si es un .php así intenta "colorearlo" vía HTML) ...

Si sólo quieres leer tu archivo (da igual si es .php o lo que sea) .. usa fopen() .. o fgets() para leer tu archivo sobre un string (cadena) la cual usaras para tu <textarea ...>$codigo</textarea>

Un saludo,
  #3 (permalink)  
Antiguo 29/03/2005, 22:04
Avatar de Torus  
Fecha de Ingreso: enero-2002
Ubicación: Tú buscame y me encontraras
Mensajes: 413
Antigüedad: 15 años, 11 meses
Puntos: 0
Hola Cluster gracias por responder, te pongo parte del codigo que se genera dentro y fuera del texarea
dentro del texarea
Código PHP:
<code><font color="#000000">
<font color="#0000BB"><?php
<br />
<
br /></font><font color="#FF8000">// muestra directorios 

<br /></font><font color="#007700">function </font><font color="#0000BB">showDir</font><font color="#007700">(</font><font color="#0000BB">$dir</font><font color="#007700">, </font><font color="#0000BB">$i</font><font color="#007700">, </font><font color="#0000BB">$maxDepth</font><font color="#007700">){
<
br />   </font><font color="#0000BB">$i</font><font color="#007700">++;
<
br />   if(</font><font color="#0000BB">$checkDir </font><font color="#007700">= </font><font color="#0000BB">opendir</font><font color="#007700">(</font><font color="#0000BB">$dir</font><font color="#007700">)){
<
br />       </font><font color="#0000BB">$cDir </font><font color="#007700">= </font><font color="#0000BB">0</font><font color="#007700">;
<
br />       </font><font color="#0000BB">$cFile </font><font color="#007700">= </font><font color="#0000BB">0</font><font color="#007700">;
<
br />       </font><font color="#FF8000">// chequea todos los archivos en $dir, add to array listDir or listFile
<br />       </font><font color="#007700">while(</font><font color="#0000BB">$file </font><font color="#007700">= </font><font color="#0000BB">readdir</font><font color="#007700">(</font><font color="#0000BB">$checkDir</font><font color="#007700">)){
fuera del texarea
Código PHP:
<?php 

// contenido del directorio
function showDir($dir$i$maxDepth){ 
   
$i++; 
   if(
$checkDir opendir($dir)){ 
       
$cDir 0
       
$cFile 0
       
// chequea todos los archivos en $dir, add to array listDir or listFile 
       
while($file readdir($checkDir)){ 
           if(
$file != "." && $file != ".."){ 
               if(
is_dir($dir "/" $file)){ 
                   
$listDir[$cDir] = $file
                   
$cDir++; 
               } 
               else{ 
                   
$listFile[$cFile] = $file
                   
$cFile++; 
               } 
           } 
       } 
        
       
// muestra directorios 
       
if(count($listDir) > 0){ 
           
sort($listDir); 
           for(
$j 0$j count($listDir); $j++){ 
               echo 

               <tr>"

                   
$spacer ""
                   for(
$l 0$l $i$l++) $spacer .= "&emsp;"
                   
// crea enlace 
                   
$link "<a href=" $_SERVER["PHP_SELF"] . "?dir=" $dir "/" $listDir[$j] . ">$listDir[$j]</a>"
                   echo 
"<td>" $spacer $link "</td> 
               </tr>"

               
// listatodos los subdirectorios 
               
if($i $maxDepthshowDir($dir "/" $listDir[$j], $i$maxDepth); 
           } 
       }
como puedes ver es totalmente diferente simplemente por estar o no dentro del texarea. Tienes razon al sugerirme que utilice fopen() para leer el archivo, pero no queda tan "bonito"
Saludos cordiales
__________________
Hay tanto que aprender y tan poco tiempo

Última edición por Torus; 29/03/2005 a las 22:07
  #4 (permalink)  
Antiguo 30/03/2005, 08:45
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Ok, no queda tan bonito ..

Pero tienes que diferenciar lo que vas a mandar a tu "textarea" y lo que mandas a presentarlo HTML .. En un caso necesitas de esos "tag's" HTML para que quede todo coloreado e identado .. pero en otro caso ese HTML de más es lo que no deseas.

Tendrás que hacerte dos rutinas (funciones) una para cada caso.

Un saludo,
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 19:25.