Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   PHP (https://www.clubdelphi.com/foros/forumdisplay.php?f=15)
-   -   Eliminar codigo HTML de un foro (https://www.clubdelphi.com/foros/showthread.php?t=49133)

xtreme 14-10-2007 00:14:35

Eliminar codigo HTML de un foro
 
Tengo un foro en http://www.juegos-mas.co.nr y quiero que cuando los usuarios creen una respuesta, se hagan los siguientes cambios, para que no se acepte el codigo HTML. Uso PHP.
'<' por '&lt;'
'>' por '&gt;'
'&' por '&amp;'
Hasta ahora, he usado la función str_replace() para hacer eso, pero tengo un ultimo problema.
Luego de usar la str_replace() uso la funcion nl2br() y ahi es cuando todo se daña. este es mi codigo:
Código PHP:

      $ans5=eregi_replace(" "," ",$r['respuesta']);
      
$ans4=eregi_replace("\"","&quot;",$ans5);
      
$ans3=eregi_replace("<","&lt;",$ans4);
      
$ans2=eregi_replace(">","&gt;",$ans3);
      
$ans1=eregi_replace("'","&quot;",$ans2);
      
$ans0=eregi_replace("&lt;br /&gt;","<br/>",$ans1);
      
$ans=nl2br($ans0); 

Les agredezco no me respondan con algo como 'consigue php-bb' pues quiero hacer todo el codigo yo.
Espero me puedan ayudar. gracias.

seoane 14-10-2007 00:54:57

Y por que no usas la función htmlspecialchars, que según creo se diseño para hacer lo que tu quieres.

http://es.php.net/manual/es/function...ecialchars.php

xtreme 14-10-2007 22:09:17

Muchas gracias, no conocía esa función. Sirve mucho, pero me dejo con un pequeño problema: los caracteres de nueva linea (\n) me los cambia por <br/> (hasta ahí todo bien), pero luego, en lugar de insertar el espacio me cambia ese <br/> por &lt;br/&gt;

Bueno... al fin y al cabo encontré en la misma pagina otra función, y combine dos para lograr lo que quería. así quedo el código:
Código PHP:

$cambiar=array("<",">",'"',"'");
$reemplazos=array("&lt;","&gt;","&quot;","'");
$ans=nl2br(str_replace($cambiar,$reemplazos,$r['respuesta'])); 

Igual, gracias por tu ayuda, sin esa pagina no hubiera podido hacerlo.


La franja horaria es GMT +2. Ahora son las 07:28:55.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi