Foros del Web » Programando para Internet » PHP »

Problema con función y str_replace

Estas en el tema de Problema con función y str_replace en el foro de PHP en Foros del Web. Hola a todos. Tengo lo siguiente: Código PHP: function  probando () {     $a  =  1 ;        while ( $a  <  10 )        {            echo  ...
  #1 (permalink)  
Antiguo 30/01/2010, 12:46
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años, 6 meses
Puntos: 0
Problema con función y str_replace

Hola a todos.

Tengo lo siguiente:

Código PHP:
function probando()
{
   
$a 1;
   
   while (
$a 10)
       {
           echo 
$a;
           
$a++;
       }


y luego quiero que en un determinado archivo se reemplace {probando} por probando(); de esta manera:

Código PHP:
$content file_get_contents("./index_tpl.html");
$content str_replace("{probando}"probando(), $content);
echo 
$content
El problema está en que en vez de sustituir {probando} por probando(), se ejecuta la función y no se sustituye.

___________
He probado lo siguiente:
Código PHP:
function probando()
{
   
$a 1;
   
   while (
$a 10)
       {
           return 
$a;
           
$a++;
       }


Pero con esto se rompe el buclé y solo me muestra el primer número.

¿Qué puedo hacer?

Un saludo y gracias.
  #2 (permalink)  
Antiguo 30/01/2010, 12:55
Avatar de darkasecas  
Fecha de Ingreso: marzo-2005
Ubicación: SantaCata, NL, Mexico
Mensajes: 1.553
Antigüedad: 19 años, 8 meses
Puntos: 77
Respuesta: Problema con función y str_replace

Pues no pongas el return dentro del ciclo -_-
  #3 (permalink)  
Antiguo 30/01/2010, 14:31
Avatar de luis010182  
Fecha de Ingreso: julio-2009
Ubicación: Argentina - Capital Federal
Mensajes: 382
Antigüedad: 15 años, 4 meses
Puntos: 27
Respuesta: Problema con función y str_replace

Código PHP:
$content file_get_contents("./index_tpl.html");
$content str_replace("{probando}""probando();"$content);
echo 
$content
Espero que sea eso.
  #4 (permalink)  
Antiguo 30/01/2010, 14:49
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema con función y str_replace

de hecho, creo que ya entendí lo que plantea...
Código PHP:
$content file_get_contents("./index_tpl.html");
$content str_replace("{probando}""<" "?php probando(); ?" ">"$content);
echo eval(
"?" ">$content"); 
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 30/01/2010, 14:58
Avatar de metacortex
Viejo demente
 
Fecha de Ingreso: junio-2004
Ubicación: Caracas - Venezuela
Mensajes: 9.027
Antigüedad: 20 años, 5 meses
Puntos: 832
Respuesta: Problema con función y str_replace

Código PHP:
Ver original
  1. function probando()
  2. {
  3.    $a = 1;
  4.    $b = null;
  5.    while ($a < 10)
  6.        {
  7.            $b .= $a;
  8.            $a++;
  9.        }
  10. return $b;
  11. }
  12.  
  13. $content = 'hola {probando}';
  14. $content = str_replace("{probando}", probando(), $content);
  15. echo $content;
  #6 (permalink)  
Antiguo 30/01/2010, 15:22
 
Fecha de Ingreso: mayo-2008
Mensajes: 30
Antigüedad: 16 años, 6 meses
Puntos: 0
Respuesta: Problema con función y str_replace

¡Perfecto!

Mil gracias pateketrueke y metacortex, ambas funcionan a la perfección.

Un saludo.

Por cierto, pateketrueke, ¿Podrías explicarme qué hace la última línea de tu código? Gracias :)

Última edición por iHabieru; 30/01/2010 a las 15:29
  #7 (permalink)  
Antiguo 30/01/2010, 16:13
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años, 7 meses
Puntos: 2534
Respuesta: Problema con función y str_replace

Cita:
Iniciado por iHabieru Ver Mensaje
[...] Por cierto, pateketrueke, ¿Podrías explicarme qué hace la última línea de tu código? Gracias :)
bueno, si pones atención utilicé la función eval()

para que, en lugar de imprimir el contenido sin interpretarse lo evaluara... (:

por favor, consulta el manual
http://php.net/eval
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

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 12:10.