Foros del Web » Programando para Internet » PHP »

explode(); ?

Estas en el tema de explode(); ? en el foro de PHP en Foros del Web. Woooooolas Miren tengo lo siguiente: paso por la url lo siguieten index.php?modulos=user/logout.php y quiero mostrar esto Modulo "logout.php" entonces lo qeu hice fue tomar el ...
  #1 (permalink)  
Antiguo 31/01/2003, 09:23
Avatar de MSDark  
Fecha de Ingreso: noviembre-2002
Ubicación: Talca VII región
Mensajes: 337
Antigüedad: 21 años, 5 meses
Puntos: 1
explode(); ?

Woooooolas

Miren tengo lo siguiente:

paso por la url lo siguieten index.php?modulos=user/logout.php

y quiero mostrar esto

Modulo "logout.php"

entonces lo qeu hice fue tomar el modulo desde la url por medio de $HTTP_GET_VARS["modulo"], pero eso me muestra:

Modulo "user/logout.php"

entonces creo que con explode puedo hacerlo

e hice esto
Código PHP:
$mod=explode($HTTP_GET_VARS["modulo"], "/");
echo 
$mod
me da como resultado

"Array"

ademas con eso que hice creo que lo unico que logro es sacar el "/" de la variable modulo no?

como lo puedo hacer

otra cosa

tengo una cosa para mostrar el codigo fuente de la web (creado por mi)

pero me muestra el HTML y el PHP y yo solo quiero mostrar PHP entonces creo que tambien podrias usar explode(); no?

uso esto para mi codigo fuente

Código PHP:
<?

$code
=show_source("/home2/public_html/$modulo");
$thecode=@highlight_string("<?",$code,"?>");
echo 
$thecode;

?>
Saludos
__________________
DelirioLinux.. Software Libre y tecnología.. php también..
Saludos :arriba:
Usuario Linux #198486 y Ubuntu #12791
Gutsy Gibbon
  #2 (permalink)  
Antiguo 31/01/2003, 09:37
Avatar de chubu  
Fecha de Ingreso: enero-2002
Ubicación: Buenos Aires
Mensajes: 133
Antigüedad: 22 años, 2 meses
Puntos: 0
Mira, explode lo que hace es "cortar" un string, usando otro string como separador. La sintaxis es asi:

Código PHP:
$nuevo_array explode($separador$string_original); 
De que forma "corta" al string original? simple, supongamos que el string es "uno,dos,tres", al aplicar, por ejemplo:

Código PHP:
$algo explode(",","uno,dos,tres"); 
Esto devolverá un array compuesto por tres elemenots, en el indice 0 devuelve "uno", en el 1 devuelve "dos", y en el 2 devuelve "3".

Sobre el asunto de separar el hrml del php, tendrias que usar una expresión regular que busque todo lo que se encuentra entre "<?" y "?>", formar un string con eso, y resaltarlo con highlight_string.

saludos,

chubu
__________________
:pensando:hay algo mal que no anda bien
  #3 (permalink)  
Antiguo 31/01/2003, 10:07
Avatar de epplestun  
Fecha de Ingreso: octubre-2001
Mensajes: 1.621
Antigüedad: 22 años, 5 meses
Puntos: 5
creo que ya se lo k kieres, te dejo un codigo chapucero para k veas como funciona:

Código PHP:
function depura_txt($msg) {
                        
ob_start();
                        
highlight_string($msg);
                        
$code ob_get_contents();
                        
ob_end_clean();
                        
$keycol=ini_get("highlight.keyword"); 
                        
$manual="http://www.php.net/manual-lookup.php?lang=es&pattern="
     
                        
$code=preg_replace('{([\w_]+)(\s*</font>)'.'(\s*<font\s+color="'.$keycol.'">\s*\()}m','<a title="Ver página del manual para $1" href="'.$manual.'$1">$1</a>$2$3'$code); 

                        
$original[0] = "/\[codigo\](.+?)\[\/codigo\]/i";
                        
$depurado[0] = '<table width=95% border=0 cellpadding=2 cellspacing=0 align=center bgcolor=#f2f2f2 class=CUADRO><tr><td><font size=1><b>Código</b></font><font size=2>\\1</font></td></tr></table>';
                        
$msg preg_replace($original$depurado$code);
                        
$x   str_replace("<code>","<font face=verdana size=1>",$msg);
                        
$xx  str_replace("<br />","",$x);
                        
$xxx str_replace("</code>","",$xx);
                        return 
nl2br($xxx);
                    } 
__________________
Usuario registrado de Linux #288725
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 13:20.