Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Otros entornos y lenguajes > PHP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 14-10-2007
xtreme xtreme is offline
Miembro
 
Registrado: oct 2007
Posts: 14
Poder: 0
xtreme Va por buen camino
Unhappy 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.
Responder Con Cita
  #2  
Antiguo 14-10-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Poder: 24
seoane Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 14-10-2007
xtreme xtreme is offline
Miembro
 
Registrado: oct 2007
Posts: 14
Poder: 0
xtreme Va por buen camino
Thumbs up

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.

Última edición por xtreme fecha: 14-10-2007 a las 22:35:46. Razón: No me habia dado cuenta del error, y pense que la funcion habia servido. Ya lo corregi usando otra.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Error en el formateador de código del foro!!! paldave Varios 4 31-08-2007 00:22:27
Obtener Código HTML hcalero Varios 0 06-02-2007 12:55:10
asp.net en codigo html Marquitos Internet 0 09-05-2006 10:39:33
Interpretar codigo Html miguel_fr Internet 2 13-04-2004 15:17:21


La franja horaria es GMT +2. Ahora son las 16:35:56.


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
Copyright 1996-2007 Club Delphi