Foros del Web » Programando para Internet » PHP »

Problema con #

Estas en el tema de Problema con # en el foro de PHP en Foros del Web. Vereis, tengo un sistema de comentarios y he añadido la posibilidad de Editar mensajes, para ello mando el contenido del mensaje, el nick del usuario ...
  #1 (permalink)  
Antiguo 18/08/2004, 10:11
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 14 años, 10 meses
Puntos: 0
Problema con #

Vereis, tengo un sistema de comentarios y he añadido la posibilidad de Editar mensajes, para ello mando el contenido del mensaje, el nick del usuario que lo ha escrito y otros datos a una pagina donde hay un cuadro de texto; asi: editar.php?nick=$nick&mensaje=$mensaje
Esto me lleva a la pagina editar.php donde esta dicho cuadro de texto en el que te sale el contenido del mensaje que quieres editar, lo edito y todo correcto pero hay un problema, si el mensaje tiene una almohadilla (#) lo que haya desde esa almohadilla hacia adelante no sale. Por ejemplo; si yo tengo un mensaje que dice:
"Este es uno de los mejores foros que hay pero no conozco su canal, puede ser #forosdelweb?, no lo se >_<"
Y le doy a Editar me va a sair en el cuadro de texto esto:
"Este es uno de los mejores foros que hay pero no conozco su canal, puede ser #"
¿Sabeis de que modo puedo hacer para que me salga el mensaje completo?, muchas gracias de antemano ^^
  #2 (permalink)  
Antiguo 18/08/2004, 10:39
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
usa urlencode() para codificar caracteres no permitidos en el URL como comillas, etc ...

Y en la otra parte . .usa urldecode($_GET['mensaje']) donde recibas el dato ...

editar.php?nick=urlencode($nick)&mensaje=urlencode ($mensaje)

www.php.net/urlencode

Un saludo,
  #3 (permalink)  
Antiguo 18/08/2004, 13:08
Avatar de Gryphus  
Fecha de Ingreso: febrero-2003
Ubicación: Spain
Mensajes: 216
Antigüedad: 14 años, 10 meses
Puntos: 0
Muchas gracias Cluster ya funciona ^^.
Tengo otra pregunta, la hago en este mismo topic.. bueno, resulta que uso nl2br() para que los saltos de linea y al mismo tiempo uso:
Código PHP:
$mensaje str_replace("<","&lt;",$mensaje);
$mensaje str_replace(">","&gt;",$mensaje);
$mensaje str_replace('\"',"&quot;",$mensaje);
$mensaje str_replace("'","'",$mensaje);
$mensaje str_replace("'","'",$mensaje); 
Para que los usuarios no puedan usar HTML, pero entonces me pasa que se me quedan los saltos de linea asi: <br /> como puedo hacer para que los usuarios no usen HTML y tambien me salgan los saltos de linea, nuevamente, gracias ^^

EDIT: Bueno, ya funciona todo, de nuevo, muchas gracias Cluster ^^

Última edición por Gryphus; 18/08/2004 a las 16:49
  #4 (permalink)  
Antiguo 18/08/2004, 16:28
O_O
 
Fecha de Ingreso: enero-2002
Ubicación: Santiago - Chile
Mensajes: 34.417
Antigüedad: 15 años, 11 meses
Puntos: 126
Todos esos str_replace() que usas equivalen a las funciones:

stripslahess()
htmlentities()

Revisalo en www.php.net. De hecho la función htmlentities() te permite seleccionar que tag's HTML permitiras (por ejemplo tu <br>) .. Pero, lo ideal es que primero apliques tus funciones htmlentities() y afines y al final apliques tu nlr2br().

Un saludo,
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 10:57.