Foros del Web » Programando para Internet » PHP »

Leer Archivos HTML y Reemplazar cadenas en el contenido

Estas en el tema de Leer Archivos HTML y Reemplazar cadenas en el contenido en el foro de PHP en Foros del Web. Hola: Llevo tiempo programando en ASP, y últimamente he estado aprendiendo PHP, me parece muy interesante y la verdad es que quiero desarrollar un sitio ...
  #1 (permalink)  
Antiguo 29/10/2007, 06:45
Avatar de ftabilo  
Fecha de Ingreso: junio-2007
Ubicación: En el Pc
Mensajes: 139
Antigüedad: 16 años, 10 meses
Puntos: 3
Leer Archivos HTML y Reemplazar cadenas en el contenido

Hola:

Llevo tiempo programando en ASP, y últimamente he estado aprendiendo PHP, me parece muy interesante y la verdad es que quiero desarrollar un sitio personal usando este último.

Les cuento, quiero separar el código PHP del HTML tal como lo hago en ASP, es decir, uso plantillas html, las cuales uso como base para mostrar contenido dinámico, reemplazando cierto texto en los archivos por el contenido de variables, finalmente despliego la plantilla con los cambios en el navegador:

Por ejemplo una plantilla html

Código HTML:
<html>
<head>
<title></title>
</head>
<body>
<div align="center">
<br/>
bienvenido <b>$Usuario</b>
</div>
</body>
</html> 
Mi función para leer archivos:

Código PHP:
<%
Function 
LeerArchivos(archivo)
Dim fso
Const ForReading 1
Set fso
=CreateObject("Scripting.FileSystemObject")
Set archivo fso.OpenTextfile(archivoForReading False)
lee_Archivo archivo.ReadAll
archivo
.close
End 
Function
%> 
Uso la función para leer una plantilla, asigno el contenido del archivo a una variable (Pagina) y luego reemplazo cadenas de texto por el contenido de otras variables, y finalmente, muestro el contenido de la variable Pagina (Con las modificaciones) en el navegador:

Código PHP:
<!--#include file="/librerias/LeerArchivos.asp" -->
<%
Dim Pagina
Pagina 
LeerArchivos(Server.MapPath("Plantilla.html"))
Pagina Replace(Pagina,"$Usuario",Session("Nombre_Usuario"))
Response.Write(Pagina)
%> 
Un ejemplo de la salida de este programa:

Bienvenido Francisco

De esta forma, reemplazo ciertas cadenas de texto de una plantilla HTML, así logro un codigo claro y facil de mantener, separando el HTML y el ASP en archivos distintos.

Mi pregunta es si hay una forma de hacer lo mismo en PHP, ya que he buscado en las FAQ'S de PHP del foro, en Google, y preguntado a colegas, sin embargo no he encontrado una forma de hacer esto en PHP.

Saludos , arriba PHP !!!

Última edición por ftabilo; 29/10/2007 a las 06:51
  #2 (permalink)  
Antiguo 30/10/2007, 06:19
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Leer Archivos HTML y Reemplazar cadenas en el contenido

Hola,
En PHP es bien fácil, si la sustitución que necesitás es simple:

Código HTML:
<html>
<head>
<title></title>
</head>
<body>
<div align="center">
<br/>
bienvenido <b><?php echo $Usuario; ?></b>
</div>
</body>
</html> 
y luego,

Código PHP:
include('Plantilla.html'); 
sería suficiente para que se mostrara lo que querés. En este caso, el "include" hace que php trate como texto al archivo incluido, y ejecute sus bloques de código PHP.

Te recomiendo que te pases por la página del manual sobre include.


Saludos
  #3 (permalink)  
Antiguo 30/10/2007, 10:44
Avatar de ftabilo  
Fecha de Ingreso: junio-2007
Ubicación: En el Pc
Mensajes: 139
Antigüedad: 16 años, 10 meses
Puntos: 3
Re: Leer Archivos HTML y Reemplazar cadenas en el contenido

Gracias por tu respuesta, pero lamentablemente, la respuesta que me has dado no me es de utilidad, ya que eso es justamente lo que yo no quiero hacer, es decir, no quiero incluir codigo PHP en mis paginas HTML y viceversa, yo uso plantillas HTML y las muestro en mis páginas ASP.

Por las dudas "$Usuario", no es nada de ASP, es simplemete un texto que reemplazo, pero puede ser cualquier otro, es sólo un ejemplo.

Lo que quiero hacer, es separar el HTML del PHP, tal como hoy lo hago en ASP.

En ASP, hay un mecanismos potentes para leer archvos, asignar el contenido del archivo, y en base al contenido del archivo, buscar cadenas y reemplazarlas por otras, eso es básicamente lo que deseo hacer en PHP y no lo he logrado.

Bueno amigo, de todos modos gracias por tu ayuda, yo seguiré investigando.

Saludos
  #4 (permalink)  
Antiguo 01/11/2007, 11:49
AlvaroG
Invitado
 
Mensajes: n/a
Puntos:
Re: Leer Archivos HTML y Reemplazar cadenas en el contenido

Pues la forma que te indico es la más rápida, pero si no te molesta tener que cargar el archivo, reemplazar y luego enviar el contenido, podés usar las funciones de cadenas, en especial str_replace:

Código PHP:
//cargo el archivo
$archivo file_get_contents('Plantilla.html');
// reemplazo:
$archivo_nuevo str_replace('$usuario'$_SESSION['nombre_usuario'], $archivo);
// envío al navegador
echo $archivo_nuevo

Saludos
  #5 (permalink)  
Antiguo 06/11/2007, 07:33
Avatar de ftabilo  
Fecha de Ingreso: junio-2007
Ubicación: En el Pc
Mensajes: 139
Antigüedad: 16 años, 10 meses
Puntos: 3
Re: Leer Archivos HTML y Reemplazar cadenas en el contenido

Gracias, lo probaré.

Es muy parecido a ASP.

GRACIAS AMIGOOOO.
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

SíEste tema le ha gustado a 1 personas




La zona horaria es GMT -6. Ahora son las 18:08.