<?phpfunction test() {return "<tabla><tr><td> este es mi texto html </td></tr></tabla>";}$a = test();
?>
--
Has recibido este mensaje porque estás suscrito al grupo "Grupo PHP Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a php-arg+u...@googlegroups.com.
Para publicar una entrada en este grupo, envía un correo electrónico a php...@googlegroups.com.
Visita este grupo en http://groups.google.com/group/php-arg?hl=es.
Para obtener más opciones, visita https://groups.google.com/groups/opt_out.
ver el manual de php: http://www.php.net/manual/en/function.include.php
Example #6 Using output buffering to include a PHP file into a string
<?php
$string = get_include_contents('somefile.php');
function get_include_contents($filename) {
if (is_file($filename)) {
ob_start();
include $filename;
return ob_get_clean();
}
return false;
}
?>Lo que podes hacer es una función que formatee los datos y los pasas a la función que los recupera. Algo como
function recupera_data() {(seguro el código me quedo con errores de sintaxis y tipeo es como para dar una idea)
Igual no me quedó claro que es lo que tenés que hacer. Si una tabla estática , dinámica., o un mixto extraño
On 28/03/13 16:36, Reynaldo G. R. wrote:
bueno separé el HTML y lo estoy llamando desde un include, pero si
igualo las funciones a una variable inmediatamente me imprime en
pantalla los HTML, lo que quiero es que no se imprima en pantalla
hasta que yo le diga con un echo.
function t_h()
{
return(include("t_header.html"));
}
El anterior era "no hagas eso porque seguramente tus requisitos van a cambiar, y vas a complicarte la vida mil veces al querer hacer eso".
Esto es "no hagas esto porque juro que averiguo donde vivis y lo que haría no lo puedo decir en público".
Podrías hacer esto (pero, ya sabés):
t_header.php:
<?php
$datos = <<<NOHAGAESTO
<table><tr><th>lalala</th></tr>
NOHAGASESTO;
main.php:
function t_h() {
return include('t_header.php');
}
Pero estás agregando bocha de código que vas a repetir, y ejecutando PHP para meter en una variable un valor que vas a imprimir inmediatamente después.
Podrías usar buffers, pero es una solución equivocada al problema equivocado:
function t_h() {
ob_start();
include("t_h.php");
return ob_get_flush();
}
Si de verdad estás empecinado en hacer esto, y todos los datos son estáticos, podés poner
function t_h() {
return file_get_contents("t_h.html");
}
Hago la pregunta que tenia que hacer desde el principio: ¿qué estás haciendo? ¿estos datos son estáticos? Podés hacerlo de otra forma más:
<?php
echo "estos son unos datos que imprimo";
echo "y acá pongo una $variable";
echo "pero ahora quiero poner una tabla estática que nunca va a cambiar";
include('tabla.html');
?>
O lo que te estamos recomendando repetidamente (porque no conocemos tu problema; solo tu pregunta): usar smarty y delegar la generacion de HTML.
--
Guillermo O. «Tordek» Freschi. Programador, Escritor, Genio Maligno.
http://tordek.com.ar :: http://twitter.com/tordek
--
Has recibido este mensaje porque estás suscrito al grupo "Grupo PHP Argentina" de Grupos de Google.
Para anular la suscripción a este grupo y dejar de recibir sus correos electrónicos, envía un correo electrónico a php-arg+unsubscribe@googlegroups.com.