Ver Mensaje Individual
  #1 (permalink)  
Antiguo 04/03/2010, 12:35
LLap
 
Fecha de Ingreso: marzo-2009
Mensajes: 39
Antigüedad: 15 años, 1 mes
Puntos: 1
Insertar código HTML en campo text de mysql

Hola buenas.
Tengo un problema al intentar insertar un trozo de texto que contiene caracteres html, comillas simples y dobles y carateres especiales.

El texto es similar a esto:
Código:
<script type='text/javascript'><!--//<![CDATA[
   var m3_u = (location.protocol=='https:'?'https://www.url.com/openx/www/delivery/ajs.php':'http://www.url.com/openx/www/delivery/ajs.php');
   var m3_r = Math.floor(Math.random()*99999999999);
   if (!document.MAX_used) document.MAX_used = ',';
   document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u);
   document.write ("?zoneid=632");
   document.write 
   if (document.MAX_used != ',') document.write ("&amp;exclude=" + document.MAX_used);
   document.write (document.charset ? '&amp;charset='+document.charset : (document.characterSet ? '&amp;charset='+document.characterSet : ''));
   document.write ("&amp;loc=" + escape(window.location));
   if (document.referrer) document.write ("&amp;referer=" + escape(document.referrer));
   if (document.context) document.write ("&context=" + escape(document.context));
   if (document.mmm_fo) document.write ("&amp;mmm_fo=1");
   document.write ("'><\/scr"+"ipt>");
//]]>--></script><noscript><a href='http://www.url.com/openx/www/delivery/ck.php?n=aa084f8f&amp;cb=INSERT_RANDOM_NUMBER_HERE' target='_blank'><img src='http://www.url.com/openx/www/delivery/avw.php?zoneid=107&amp;n=aa084f8f' border='0' alt='' /></a></noscript>
Pues bien yo hago lo siguiente:
$url = htmlspecialchars($url);
$url = addslashes($url);

y luego el INSERT.

El tema es que inserta solo parcialmente, se queda parado en el &amp :
Código:
&lt;script type=\'text/javascript\'&gt;&lt;!--//&lt;![CDATA[    var m3_u = (location.protocol==\'https:\'?
\'https://www.url.com/openx/www/delivery/ajs.php\':\'http://www.url.com/openx/www/delivery/ajs.php\');    var m3_r = Math.floor(Math.random()*99999999999);    if (!document.MAX_used) document.MAX_used = \',\';    document.write (\&quot;&lt;scr\&quot; \&quot;ipt type=\'text/javascript\' src=\'\&quot; m3_u);    document.write (\&quot;?zoneid=632\&quot;);    document.write     if (document.MAX_used != \',\') document.write (\&quot;
No se como hacerlo para que lo inserte todo.

Gracias por las sugerencias.