Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 25-09-2005
Avatar de salvica
salvica salvica is offline
Miembro
 
Registrado: mar 2004
Ubicación: Albacete (España) ... En un lugar de la Mancha ...
Posts: 304
Poder: 21
salvica Va por buen camino
variables variables (manual php)

Hola a tod@s

Tengo una especie de "diccionario" definido para hacer una página web que se visualice en diferentes idiomas y lo inserto en las diferentes páginas con el consabido "include".

Hasta aquí, correcto , el problema que se me plantea es que al utilizarlo para enviar "emilios" no consigo leer el contenido de las variables definidas en ese fichero

Ejemplo: supongamos que tengo definido el siguiente diccionario:
Código PHP:
 <?php
 
.....
 
$nombre "NOMBRE";
 
$apellidos "APELLIDOS";
 
$separador "Y"
 
$completo "$nombre $separador $apellidos";
 .....
  
?>
Ahora tengo una función que recibe las lineas HTML y las quita el código PHP
Código PHP:
   function quitarCadenaPhp( $valor, $idioma ) {
            $tmpCadena = stripslashes( $valor );
            $posPhp    = strpos( $tmpCadena, "<?php echo" );
            if( 
$posPhp === false ) { // nota: tres signos igual
                // no encontrado ... devolver la cadena entera
                return 
$tmpCadena;
            } else {
              //------------> 1º - copiar en "
cadenaIni" la parte anterior al comienzo del PHP
                
$cadenaIni  = substr( $tmpCadena, 0, $posPhp );
              //------------> 2º - buscar el comienzo de la variable
                
$posInicio  = strpos( $tmpCadena, "$" );
                
$tmpCadena  = substr( $tmpCadena, ($posInicio) );
              //------------> 3º - buscar el final de la variable o variables
                
$posFinal   = strpos( $tmpCadena, "?>" );
                $cadenaFin  = substr( $tmpCadena, 0, ($posFinal-1) );
              //------------> 4º - buscar el final del PHP
               $tmpCadena  = substr( $tmpCadena, ($posFinal+2) );
                $tmpCadena  = ltrim(  $tmpCadena );
              //------------> 5º - quitar inicio, fin y las uniones de variables
                $cadenaFin  = str_replace( '"', ' ', $cadenaFin );
                $cadenaFin  = str_replace( ".", " ", $cadenaFin );
                $cadenaFin  = str_replace( ";", " ", $cadenaFin );
              //-----> 6º - formar la cadena resultante
              //----->        aqui la cadena deberia ser "$nombre $apellidos"
                require( "../variables/" . $idioma . "/diccionario.php" );
               $cadenaPhp  = "";
              //----->        pasamos las variables encontradas a un array
                $lista      = split( " ", trim($cadenaFin) );
                for( $i=0; $i<count($lista); $i++ ) {
                //----->      por cada variable, tomar su valor
                     $cadenaPhp  .= $$lista[$i] . " "; // ******* FALLO
                }
              //----->        quitar espacios en ambos lados y dejarla en "cadenaIni"
                $cadenaIni .= trim(  $cadenaPhp );
              //----->        quitar espacios a la izquierda y dejarla en "cadenaIni"
                $cadenaIni .= ltrim( $tmpCadena );
              //-----> 7º - si hay nuevo inicio de pha, quitarlo recursivamente
                $posPhp     = strpos( $tmpCadena, "<?php echo" );
                if( 
$posPhp === false ) { // nota: tres signos igual
                // no hay más php ... devolver la cadena formada
                    return 
$cadenaIni;
                } else {
                // encontrado ... llamar de nuevo a la función
                    return quitarCadenaPhp( 
$cadenaIni$idioma );
                }
            }
 
   }
La consulta, después de todo el rollo es: ¿Como se hace para utilizar una variable contenida dentro de otra variable?

He utilizado $$lista[$i], ${$lista[$i]} y siempre el mismo rollo:

Notice: Undefined variable: $nombre on line ....
Notice: Undefined variable: $apellidos on line ....
Notice: Undefined variable: $separador on line ....
Notice: Undefined variable: $completo on line ....

Gracias por la ayuda
Salvica
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro


La franja horaria es GMT +2. Ahora son las 20:57:03.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi