Foros del Web » Programando para Internet » PHP »

Problema variable con contenido HTML

Estas en el tema de Problema variable con contenido HTML en el foro de PHP en Foros del Web. Os comento, estoy utilizando un editor wysing, y en si lo que hace es pasar el contenido de un text area por POST. El problema ...
  #1 (permalink)  
Antiguo 19/09/2008, 08:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Pregunta Problema variable con contenido HTML

Os comento, estoy utilizando un editor wysing, y en si lo que hace es pasar el contenido de un text area por POST. El problema que tengo es que al recogerlo
Código PHP:
$texto $_POST['elm1']; 
es como si estuviera asignando a la varieble
Código PHP:
$texto '<p style=\"text-align: center;\">We recommend <a href=\"http://www.getfirefox.com\" target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\" target=\"_blank\">Google</a></p>';

echo 
"$texto"
en vez de
Código PHP:
$texto "<p style=\"text-align: center;\">We recommend <a href=\"http://www.getfirefox.com\" target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\" target=\"_blank\">Google</a></p>";

echo 
"$texto"
Que sería como debería de estar para que el texto salga formateado. ¿ Como puedo solucionarlo? (si es posible porque ya no se que narices cambiar)

Gracias por todo y un saudo del yeikh
  #2 (permalink)  
Antiguo 19/09/2008, 09:00
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Problema variable con contenido HTML

el simbolo de escape \ es usado cuando la cadena esta contenida por ese simbolo
si la cadena esta entre comillas y dentro del texto necesitas ponerlas tambien le pones el simbolo de escape para que se muestre.

$texto = "<p style=\"text-align: center;\">We recommend <a href=\"http://www.getfirefox.com\" target=\"_blank\">Firefox</a> and <a href=\"http://www.google.com\" target=\"_blank\">Google</a></p>";

o la otra es hacer combinaciones entre comillas dobles y simples ya que entre ellas no se interfieren

echo "$texto";

$texto = '<p style="text-align: center;">We recommend <a href="http://www.getfirefox.com" target="_blank">Firefox</a> and <a href="http://www.google.com" target="_blank">Google</a></p>';

echo "$texto";

Saludos
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #3 (permalink)  
Antiguo 19/09/2008, 09:17
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema variable con contenido HTML

El funcionamiento está claro, pero no entiendo por que al pasar la variable por post te envia el texto ente comillas simple, cuando lo normal seria que te lo enviara sin comillas ni dobres ni simples. He probado incluso
Código PHP:
$texto $_POST['elm1']

$texto $_POST["elm1"]; 
Pero nada no hay manera
  #4 (permalink)  
Antiguo 19/09/2008, 09:21
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Problema variable con contenido HTML

Esas 2 instrucciones son equivalentes...

Podrias poner el codigo dopnde es que tienes el formulario que se envia por POST

Para ver que es lo que tiene el arreglo POST puedes escribir print_r($_POST); aqui se mostrara todo lo que se envio en tu formulario...
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #5 (permalink)  
Antiguo 19/09/2008, 09:25
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema variable con contenido HTML

Sin problemas!!va para ahí

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Full featured example</title>

<!-- TinyMCE -->
<script type="text/javascript" src="./tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
	tinyMCE.init({
		// General options
		mode : "textareas",
		theme : "advanced",
		plugins : "safari,pagebreak,style,layer,table,save,advhr,advimage,advlink,emotions,iespell,inlinepopups,insertdatetime,preview,media,searchreplace,print,contextmenu,paste,directionality,fullscreen,noneditable,visualchars,nonbreaking,xhtmlxtras,template",

		// Theme options
		theme_advanced_buttons1 : "save,newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,formatselect,fontselect,fontsizeselect",
		theme_advanced_buttons2 : "cut,copy,paste,pastetext,pasteword,|,search,replace,|,bullist,numlist,|,outdent,indent,blockquote,|,undo,redo,|,link,unlink,anchor,image,cleanup,help,code,|,insertdate,inserttime,preview,|,forecolor,backcolor",
		theme_advanced_buttons3 : "tablecontrols,|,hr,removeformat,visualaid,|,sub,sup,|,charmap,emotions,iespell,media,advhr,|,print,|,ltr,rtl,|,fullscreen",
		theme_advanced_buttons4 : "insertlayer,moveforward,movebackward,absolute,|,styleprops,|,cite,abbr,acronym,del,ins,attribs,|,visualchars,nonbreaking,template,pagebreak",
		theme_advanced_toolbar_location : "top",
		theme_advanced_toolbar_align : "left",
		theme_advanced_statusbar_location : "bottom",
		theme_advanced_resizing : true,

		// Example content CSS (should be your site CSS)
		content_css : "css/content.css",

		// Drop lists for link/image/media/template dialogs
		template_external_list_url : "lists/template_list.js",
		external_link_list_url : "lists/link_list.js",
		external_image_list_url : "lists/image_list.js",
		media_external_list_url : "lists/media_list.js",

		// Replace values for the template plugin
		template_replace_values : {
			username : "Some User",
			staffid : "991234"
		}
	});
</script>
<!-- /TinyMCE -->

</head>
<body>

<form action="prueba.php" method="post">
  <h3>Full featured example</h3>

	<p>
		This page shows all available buttons and plugins that are included in the TinyMCE core package.
		There are more examples on how to use TinyMCE in the <a href="http://wiki.moxiecode.com/examples/tinymce/">Wiki</a>.
	</p>

	<!-- Gets replaced with TinyMCE, remember HTML in a textarea should be encoded -->
	<textarea name="elm1" cols="80" rows="15" id="elm1" style="width: 80%">
		&lt;p&gt;
		&lt;img src="media/logo.jpg" alt=" " hspace="5" vspace="5" width="250" height="48" align="right" /&gt;	TinyMCE is a platform independent web based Javascript HTML &lt;strong&gt;WYSIWYG&lt;/strong&gt; editor control released as Open Source under LGPL by Moxiecode Systems AB. It has the ability to convert HTML TEXTAREA fields or other HTML elements to editor instances. TinyMCE is very easy to integrate into other Content Management Systems.
		&lt;/p&gt;
		&lt;p&gt;
		We recommend &lt;a href="http://www.getfirefox.com" target="_blank"&gt;Firefox&lt;/a&gt; and &lt;a href="http://www.google.com" target="_blank"&gt;Google&lt;/a&gt; &lt;br /&gt;
		&lt;/p&gt;
	</textarea>

	<div>
		<!-- Some integration calls -->
		<a href="javascript:;" onmousedown="tinyMCE.get('elm1').show();">[Show]</a>
		<a href="javascript:;" onmousedown="tinyMCE.get('elm1').hide();">[Hide]</a>
		<a href="javascript:;" onmousedown="tinyMCE.get('elm1').execCommand('Bold');">[Bold]</a>
		<a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').getContent());">[Get contents]</a>
		<a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').selection.getContent());">[Get selected HTML]</a>
		<a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').selection.getContent({format : 'text'}));">[Get selected text]</a>
		<a href="javascript:;" onmousedown="alert(tinyMCE.get('elm1').selection.getNode().nodeName);">[Get selected element]</a>
		<a href="javascript:;" onmousedown="tinyMCE.execCommand('mceInsertContent',false,'<b>Hello world!!</b>');">[Insert HTML]</a>
		<a href="javascript:;" onmousedown="tinyMCE.execCommand('mceReplaceContent',false,'<b>{$selection}</b>');">[Replace selection]</a>
	</div>

	<br />
	<input type="submit" name="save" value="Submit" />
	<input type="reset" name="reset" value="Reset" />
</form>

</body>
</html> 
  #6 (permalink)  
Antiguo 19/09/2008, 09:26
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Problema variable con contenido HTML

amigo te paso tu codigo en buen estado, y te digo tu error:
1. no pongas \"cadena\", ya que no es necesario, solo utilizalo cuando tienes ya en uso las comillas dobles (") y las simples (') y como quieres encerrar otra cadena ayi recien emples el backslash o como se llame (\" o \').
2. no es necesario que recogas las variables de $_POST con comillas, es decir, solo basta:

3. ultimo, no es necesario hacer echo a variables con millas, osea en vez de:
$texto = $_POST['elm1'] ; o $texto = $_POST["elm1"] ;
puedes simplemente colocar: $texto = $_POST[elm1]:

bueno, vamos a la practica.... te dejo el codigo y suerte.
Código PHP:
<?php
$texto 
"<p style='text-align:center'>We recommend <a href='http://www.getfirefox.com' target='_blank'>Firefox</a> and <a href='http://www.google.com' target='_blank'>Google</a></p>";

echo 
$texto;
?>
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #7 (permalink)  
Antiguo 19/09/2008, 09:28
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Problema variable con contenido HTML

bueno, para tu nuevo post, mejor recupera con $_REQUEST, que acepta POST y GET, osea:
Código PHP:
$texto=$_REQUEST[elm1]; 
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog
  #8 (permalink)  
Antiguo 19/09/2008, 09:38
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema variable con contenido HTML

Cita:
Iniciado por masterojitos Ver Mensaje
amigo te paso tu codigo en buen estado, y te digo tu error:
1. no pongas \"cadena\", ya que no es necesario, solo utilizalo cuando tienes ya en uso las comillas dobles (") y las simples (') y como quieres encerrar otra cadena ayi recien emples el backslash o como se llame (\" o \').
2. no es necesario que recogas las variables de $_POST con comillas, es decir, solo basta:

3. ultimo, no es necesario hacer echo a variables con millas, osea en vez de:
$texto = $_POST['elm1'] ; o $texto = $_POST["elm1"] ;
puedes simplemente colocar: $texto = $_POST[elm1]:

bueno, vamos a la practica.... te dejo el codigo y suerte.
Código PHP:
<?php
$texto 
"<p style='text-align:center'>We recommend <a href='http://www.getfirefox.com' target='_blank'>Firefox</a> and <a href='http://www.google.com' target='_blank'>Google</a></p>";

echo 
$texto;
?>
Si fuera por mi, tu solucion seria perfecta, pero es el formato que pasa el editor wysing.

Muchas gracias por tus respuestas.
  #9 (permalink)  
Antiguo 19/09/2008, 09:40
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Problema variable con contenido HTML

Masterojitos hasta donde yo tenia entendido REQUEST ya ha quedado obsoleto... es mejor utilizar post y get directamnete, la condicion para n oponer comillas es referente a la configuracion del server pero por buenas practicas se recomiendo programar como si las variables globales esten desactivadas y comlocar las comillas cuando sean necesarias y sus simbolos de escape...
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #10 (permalink)  
Antiguo 19/09/2008, 09:44
Avatar de Avatar810  
Fecha de Ingreso: agosto-2007
Ubicación: Por rumbos Regios
Mensajes: 485
Antigüedad: 16 años, 8 meses
Puntos: 23
Respuesta: Problema variable con contenido HTML

yeikh no encuentro detalle con tus codigos, ya lo probe en mi servidor y llega con formato, lo muestro en pantalla y se ve muy bien incluso lo he puesto dentro de un campo <input type="text" value='<?= $_POST["elm1"] ?>'> y se muestra todo correctamente...

Como es que utilizas la informacion despues de recibir el formulario?
__________________
Una demo siempre funcionará correctamente hasta que toque algo tu (hasta ahora) cliente.
Avatar810
  #11 (permalink)  
Antiguo 19/09/2008, 09:56
Avatar de masterojitos  
Fecha de Ingreso: julio-2008
Ubicación: Lima Callao Chucuito
Mensajes: 1.931
Antigüedad: 15 años, 9 meses
Puntos: 105
Respuesta: Problema variable con contenido HTML

Avatar810, jaja, mejor no menciono nada ya que no soy de discutir, --editado-- y para finalizar, yeikh entiendo que te sale eso por utilizar un editor el cual te retorna las comillas, en todo caso, puedes utitilizar un str_replace para reemplazar las comillas que afectan tu sintaxis. un gusto.
__________________
Atte. MasterOjitos :ojotes:
Todo sobre Programación Web
Las ultimas tendencias en Efectos y Recursos Web: MasterOjitos Blog

Última edición por jam1138; 21/09/2008 a las 01:13 Razón: Elimino palabras salidas de un cerebro desconectado. Solo las ofensivas, las demás las dejo.
  #12 (permalink)  
Antiguo 20/09/2008, 11:34
okram
Invitado
 
Mensajes: n/a
Puntos:
Respuesta: Problema variable con contenido HTML

Eso sucede debido a que tienes la directiva magic_quotes activada. Prueba poniendo:

Código php:
Ver original
  1. $texto = $_POST['elm1'];
  2.  
  3. # Si está activado magic_quotes, quitamos los slashes
  4.  
  5. echo $texto;
http://www.php.net/stripslashes

Saludos,
  #13 (permalink)  
Antiguo 22/09/2008, 03:13
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema variable con contenido HTML

Que nada, esto es imposible!! No hay manera!!!

Primeramente, gracias a todos por vuestras respuestas. Segundo he probado las opciones que me dabais y na, sin resultados, ahora si que no se lo que pasa xq si el comando stripslashes ($texto ); quita las barras invertidas no entiendo xq no sale formateado. He estado buscando informacion sobre el Tiny editor que es el WYSIWYG que intento integrar, para comprobar si es alguna opción de configuración pero nada.

Alguien ha integrado este editor en alguna web?No se, ya dudo que asta que lo esté utilizando mal. El tema es que te descargas el codigo eliges la configuracion y pasas el contenido de un text box, imprimo la variable pero no me coge el formato.¿que hago mal?Ni he tocado el codigo del editor ni nada vamos solo he echo una prueba básica.

Grcias de nuevo chavales y un saludo del yeikh
  #14 (permalink)  
Antiguo 22/09/2008, 03:19
 
Fecha de Ingreso: septiembre-2008
Mensajes: 45
Antigüedad: 15 años, 7 meses
Puntos: 0
Respuesta: Problema variable con contenido HTML

Vale que si que rula con ese comando, lo habia colocado mal,juas

Grcias a todos!!!!!! Despues de esto me voy a emborrachar!!!juas juas


Un saludote del yeikh!
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 16:17.