Foros del Web » Programando para Internet » PHP »

Codigo HTML en una variable

Estas en el tema de Codigo HTML en una variable en el foro de PHP en Foros del Web. Buenas compañeros, tengo una duda. Yo quiero guardar texto html en una variable para poder llamarla después y mostrar el contenido o modificar algo de ...
  #1 (permalink)  
Antiguo 12/02/2012, 09:07
Avatar de Heent  
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 4 meses
Puntos: 6
Pregunta Codigo HTML en una variable

Buenas compañeros, tengo una duda. Yo quiero guardar texto html en una variable para poder llamarla después y mostrar el contenido o modificar algo de este.

Para guardarlo en una variable lo que hago es:
Código PHP:
$foo "<h1>Un texto html, bla bla bla bla</h1>"
Pero entonces los editores de texto no me reconocen el texto como html es decir no informan de posibles errores, ni me sugieren los cierres ni nada (normal porque es una string).

La segunda forma que encontré es con una función, entonces sí que los editores saben que es texto html.

Código PHP:
<?php function fooFunction(){ ?>

<h1>texto html que si que va bien</h1>

<?php }
Pero entonces no puedo operar con este texto. Mi pregunta es hay algún modo combinatorio de los dos? Algo del estilo:

Código PHP:
<?php $foo ?>

<h1>texto html </h1>

<?php ;
Es decir guardar el contenido html en una variable pero sin que sea un string al escribirlo. Pero si después se pasa a string no importa.

En el caso que no exista (que seguro que no existe) que forma me recomendáis usar? Cerrar y abrir los tags de php o guardar el texto en un string?


Un saludo y muchas gracias!
  #2 (permalink)  
Antiguo 12/02/2012, 09:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 350
Antigüedad: 15 años, 7 meses
Puntos: 31
Respuesta: Codigo HTML en una variable

y ya intentaste con heredoc syntax


Código PHP:
$foo = <<<EOD
<h1>Un texto html, bla bla bla bla</h1>
EOD; 
__________________
╬-----╬
║☺₧☻║
╬-----╬
  #3 (permalink)  
Antiguo 12/02/2012, 09:49
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Codigo HTML en una variable

Cita:
Iniciado por Heent Ver Mensaje
Buenas compañeros, tengo una duda. Yo quiero guardar texto html en una variable para poder llamarla después y mostrar el contenido o modificar algo de este.

Para guardarlo en una variable lo que hago es:
Código PHP:
$foo "<h1>Un texto html, bla bla bla bla</h1>"
Pero entonces los editores de texto no me reconocen el texto como html es decir no informan de posibles errores, ni me sugieren los cierres ni nada (normal porque es una string).

La segunda forma que encontré es con una función, entonces sí que los editores saben que es texto html.

Código PHP:
<?php function fooFunction(){ ?>

<h1>texto html que si que va bien</h1>

<?php }
Pero entonces no puedo operar con este texto. Mi pregunta es hay algún modo combinatorio de los dos? Algo del estilo:

Código PHP:
<?php $foo ?>

<h1>texto html </h1>

<?php ;
Es decir guardar el contenido html en una variable pero sin que sea un string al escribirlo. Pero si después se pasa a string no importa.

En el caso que no exista (que seguro que no existe) que forma me recomendáis usar? Cerrar y abrir los tags de php o guardar el texto en un string?


Un saludo y muchas gracias!
No se si he entendido bien tu duda.. quizas busques algo asi:

<?

$numUno = 2;
$numDos = 3;

$suma = $numUno + $numDos;

?>

<html>
<head>
</head>
<body>
<div id="suma">
<? echo $suma; ?>
</div>
</bodY>
</html>

Esto al cargar la página te mostraria dentro del div "suma" la variable suma. Puedes hacer cosas como...

<html>
<head>
</head>
<body>
<?
if($suma != ""){
?>
<div id="suma">
El resultado de la suma es: <? echo $suma; ?>
</div>
<?
}
?>
</bodY>
</html>

Esto solo te mostraria la division en caso de que la variable suma tenga algun valor asignado y con el eco te muestra en pantalla la variable suma.

No se si es esto lo que buscas, pero bueno aqui lo dejo.
  #4 (permalink)  
Antiguo 12/02/2012, 09:58
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Codigo HTML en una variable

Quizas lo que busques se mas algo asi..

<?

$numUno = 2;
$numDos = 3;

$suma = $numUno + $numDos;
$div = '<div id="suma" style="border:solid 1px #000">La suma es <span style="color:#fe5a6a">'.$suma.'</span></div>';
?>

<html>
<head>
</head>
<body>
<? echo $div ; ?>
</bodY>
</html>

Esto te pondria dentro del body la division dada en la variable $div
  #5 (permalink)  
Antiguo 12/02/2012, 10:20
Avatar de Heent  
Fecha de Ingreso: diciembre-2008
Mensajes: 140
Antigüedad: 15 años, 4 meses
Puntos: 6
Respuesta: Codigo HTML en una variable

Cita:
Iniciado por thezzin Ver Mensaje
y ya intentaste con heredoc syntax


Código PHP:
$foo = <<<EOD
<h1>Un texto html, bla bla bla bla</h1>
EOD; 
Sí, pero el editor me lo sigue tratando como un string.

La idea es guardar el contenido html en el string pero que el editor me lo siga reconociendo como html tal y como ocurre con funciones que meten código html

function mostrarHTML() { ?>
<div>estoe stexto html</div>
<?php }

El texto html el edito me lo reconoce i el texto php también. Entonces php muestra el "<div>estoe stexto html</div>" cuando se llama a la función mostrarHTML().

Lo que quiero es lo mismo pero guardar el "<div>estoe stexto html</div>" dento de una variable.

Cita:
Iniciado por manugiralda Ver Mensaje
Quizas lo que busques se mas algo asi..

<?

$numUno = 2;
$numDos = 3;

$suma = $numUno + $numDos;
$div = '<div id="suma" style="border:solid 1px #000">La suma es <span style="color:#fe5a6a">'.$suma.'</span></div>';
?>

<html>
<head>
</head>
<body>
<? echo $div ; ?>
</bodY>
</html>

Esto te pondria dentro del body la division dada en la variable $div

No quería decir muy bien esto. Lo que quiero es esta variable $div que contenga el html como has hecho tu pero sin que lo introduzca como un string para que el editor de texto me lo reconozca como html y así ver los colores de los tags, que me diga si he cometido un error, que me sugiera tags etc.


Muchas gracias!
  #6 (permalink)  
Antiguo 12/02/2012, 10:32
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Codigo HTML en una variable

No es posible hacer lo que quieres, lo mas cercano es lo que te ah dado @thezzin
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #7 (permalink)  
Antiguo 12/02/2012, 10:36
manugiralda
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Codigo HTML en una variable

Bueno, eso imagino que dependera del editor de texto que uses. yo uso DreamWeaver y si bien no me muestra los colores cuando meto html en un string, si me hace las funciones autocompletar y sugerencias de tags.

De todos modos lo que yo hago es crear las divisiones como texto html para ir visualizandolas y cuando esta como quiero, la corto y la pego en la variable, de este modo ya se que el codigo HTML está correcto e introduzco el contenido php dentro de esta entonces.
  #8 (permalink)  
Antiguo 12/02/2012, 10:52
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Codigo HTML en una variable

Hola

Los buffers son tu amigo.

Código PHP:
<?php
 
...
 
ob_start();
?>

<html>
   <head>...</head>
   <body>...<?php echo $another_variable ?></body>
</html>

<?php
 
...
 
$variable ob_get_clean();
?>
  #9 (permalink)  
Antiguo 12/02/2012, 10:56
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Codigo HTML en una variable

@kiko's lo que el quiere es que su editor (IDE) interprete los tag HTML dentro de variables, no crear buffer de código en tiempo de ejecución!!!
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #10 (permalink)  
Antiguo 12/02/2012, 10:58
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Codigo HTML en una variable

Cita:
Iniciado por Nemutagk Ver Mensaje
@kiko's lo que el quiere es que su editor (IDE) interprete los tag HTML dentro de variables, no crear buffer de código en tiempo de ejecución!!!
Es una posible solución a su problema. Un poco rebuscada y poco práctica, eso sí.

Saludos.
  #11 (permalink)  
Antiguo 12/02/2012, 11:01
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Codigo HTML en una variable

No porque los tag seguirán dentro de las variables aun creando buffer...

Código PHP:
Ver original
  1. <?php
  2. //no importa que hagas, siempre estará el input interpretado como string en el IDE
  3. $varHtml = '<input type="text" id="micampo" name="micampo" />';
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #12 (permalink)  
Antiguo 12/02/2012, 11:10
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Codigo HTML en una variable

Cita:
Iniciado por Nemutagk Ver Mensaje
No porque los tag seguirán dentro de las variables aun creando buffer...

Código PHP:
Ver original
  1. <?php
  2. //no importa que hagas, siempre estará el input interpretado como string en el IDE
  3. $varHtml = '<input type="text" id="micampo" name="micampo" />';
Te puedo asegurar que el IDE con el código que he puesto no interpretará el código HTML como string.

Otra cosa es que sea un coñazo ir añadiendo dos líneas extras de código por cada variable a la cual queramos aplicar esto. Pero es una solución igual de práctica que la de declarar el código dentro de una función como se comenta en el primer mensaje.

Saludos!
  #13 (permalink)  
Antiguo 12/02/2012, 11:15
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Codigo HTML en una variable

O al menos sí mi IDE xD


PS: Perdón por el doble post.
  #14 (permalink)  
Antiguo 12/02/2012, 11:16
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años
Puntos: 406
Respuesta: Codigo HTML en una variable

Cita:
Iniciado por kiko's Ver Mensaje
Te puedo asegurar que el IDE con el código que he puesto no interpretará el código HTML como string.

Otra cosa es que sea un coñazo ir añadiendo dos líneas extras de código por cada variable a la cual queramos aplicar esto. Pero es una solución igual de práctica que la de declarar el código dentro de una función como se comenta en el primer mensaje.

Saludos!
Por supuesto que el IDE no lo interpretará como string porque no esta guardado en ninguna variable, en el código que deje en el post anterior puedo usar esa variable de muchas formas porque es una variable dentro de PHP, que es lo que se busca, guardar HTML en una VARIABLE para poder tratar dicha variable dentro del código y que el IDE siga reconociendo los tag HTML, aparte, es hacer trabajar de mas a PHP solo para resaltar la sintaxis del HTML en el IDE, por lo cual no es recomendable, no se debe sacrificar performace vs "mejor" lectura del código html generado
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)
  #15 (permalink)  
Antiguo 12/02/2012, 11:21
 
Fecha de Ingreso: julio-2005
Mensajes: 310
Antigüedad: 18 años, 9 meses
Puntos: 36
Respuesta: Codigo HTML en una variable

Cita:
Iniciado por Nemutagk Ver Mensaje
Por supuesto que el IDE no lo interpretará como string porque no esta guardado en ninguna variable, en el código que deje en el post anterior puedo usar esa variable de muchas formas porque es una variable dentro de PHP, que es lo que se busca, guardar HTML en una VARIABLE para poder tratar dicha variable dentro del código y que el IDE siga reconociendo los tag HTML
¿Cómo que no está guardado en ninguna variable? Lo guardo, el buffer que contiene el html, en la variable llamada $variable. ¿Cuál es el problema? ¿Qué mas da asignar el contenido de una variable mediante el contenido de un buffer que asignándole el valor directamente?

Yo sólo he propuesto una técnica igual de válida que la técnica de meter el código dentro de la función. Es lo mismo. Para unos más elegantes, para otros menos.

Yo creo que nos estamos liando xDD
  #16 (permalink)  
Antiguo 12/02/2012, 11:24
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Codigo HTML en una variable

Usen views, partials, templates, etc. ¿que tan complicado es?

Así mantienen el código separado, e individualmente se resalta bien en los editores.

Además es practica -y muy mala- de hace diez años tener plantillas de HTML en strings.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #17 (permalink)  
Antiguo 12/02/2012, 11:38
Avatar de referenteweb  
Fecha de Ingreso: febrero-2012
Ubicación: Chile
Mensajes: 22
Antigüedad: 12 años, 2 meses
Puntos: 4
Respuesta: Codigo HTML en una variable

Concuerdo que es mala practica y tiende al aumento de errores, lo que debes realizar es algo como:

<body>
<?php require_once('funciones.php'); ?>
<h1><?php echo $mi_variable; ?></h1>
</body>

Y tratar de separar todo lo que puedas de php en un archivo funciones, y el html es el encargado de mostrar los resultados.

Saludos
  #18 (permalink)  
Antiguo 16/02/2012, 10:25
Avatar de apaxito  
Fecha de Ingreso: febrero-2012
Ubicación: Sevilla
Mensajes: 47
Antigüedad: 12 años, 2 meses
Puntos: 10
Respuesta: Codigo HTML en una variable

Creo que htmlentities es tu amigo pruébalo que es tu solución.

De todas formas tal y como comentan pateketrueke y referenteweb, es una práctica muuuuy desaconsejada seguir introduciendo código HTML en variables PHP, a HTML lo que es de HTML, y al césar, lo que es del césar xD.
__________________
Sígueme en el Blog que llevo con otros dos compañeros sobre PHP, HTML5, JavaScript, JQuery y noticias tecnológicas... http://www.inix.es/docevoltios

Etiquetas: html, variables
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 13:50.