[ Foro de PHP ]

Sustitución de marcas PHP en HTML con explode

08-Sep-2022 09:38
Invitado (Juanka)
0 Respuestas

Hola buenos días,

llevo días dándole vueltas a un código y no consigo hacer que funcione (no sé ni siquiera si se puede xD), estoy utilizando una función explode para sustituir marcas desde PHP en una página HTML dependiendo el numero que establezca en el contador, tengo esta parte de código que funciona correctamente (este es un ejemplo de prueba, el código real trae información de una base de datos SQL)

PHP

$contenido=file_get_contents("../Plantillas/index.php");

$trozos=explode("##Fila1##",$contenido); // genera 3 trozos
$cuerpo="";
$aux="";
for($i=1;$i<=1;$i++)
{
$aux=$trozos[1];
$aux=str_replace("##Prueba1##","Primero",$aux);
$cuerpo.=$aux;
}

$contenido = $trozos[0].$cuerpo.$trozos[2];

echo $contenido;

HTML

##Fila1##
<input value="##Prueba1##"></input><br>
##Fila1##

lo que necesito es incluir otra función explode dentro de esa misma, ya que tengo que mostrar un campo con varios subcampos más, mas o menos sería algo así pero no funciona

PHP

$contenido=file_get_contents("../Plantillas/index.php");

$trozos=explode("##Fila1##",$contenido); // genera 3 trozos
$trozos2=explode("##Fila2##",$contenido); // genera 3 trozos
$cuerpo="";
$aux="";
for($i=1;$i<=1;$i++)
{
$aux=$trozos[1];
$aux=str_replace("##Prueba1##","Primero",$aux);

for($i=0;$i<=1;$i++)
{
$aux=$trozos2[1];
$aux=str_replace("##Prueba2##","Segundo",$aux);
$cuerpo2.=$aux;
}

$contenido = $trozos2[0].$cuerpo2.$trozos2[2];

$cuerpo.=$aux;

}

$contenido = $trozos[0].$cuerpo.$trozos[2];

echo $contenido

HTML

##Fila1##
<input value="##Prueba1##"></input><br>
##Fila2##
<input value="##Prueba2##"></input><br>
##Fila2##
##Fila1##

perdón si no me he explicado muy bien es la primera vez que comento en un foro pero estoy un poco desesperado xD espero que alguien pueda arrojarme algo de luz

Un saludo y gracias de antemano!!




Si ya eres usuario del sistema, puedes contestar desde tu cuenta y así ganar prestigio.

Si sólo eres un visitante, puedes optar por...