Foros del Web » Programando para Internet » PHP »

Eliminar ALGUNOS tags html de un textarea...

Estas en el tema de Eliminar ALGUNOS tags html de un textarea... en el foro de PHP en Foros del Web. Hola gente!. Necesito que alguien me ayude. Estoy haciendo un sistema foros, pero tengo un problema... Lo que quiero hacer es que una vez escrito ...
  #1 (permalink)  
Antiguo 16/05/2007, 11:18
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Eliminar ALGUNOS tags html de un textarea...

Hola gente!.

Necesito que alguien me ayude. Estoy haciendo un sistema foros, pero tengo un problema... Lo que quiero hacer es que una vez escrito un texto en el textarea, en el momento de procesar el texto, se eliminen solo algunos de los tags html que se hayan escrito en el textarea. Pero no quiero que se eliminen tags "simples" de formateo de texto como <table>, <img>, <b>, <i>, <a>, <li> etc... Pero sí el resto de etiquetas como <div>, <param>, <body>, <form>...

Quicir, quiero permitir html, pero de forma limitada...

Supongo que una forma de hacer esto sería que, por ejemplo, crear un array con los nombre de etiquetas permitidas. Luego, una función que busque en el texto todos los < > y guardar en una variable el contenido entre estos dos caracteres. Y por último una sentencia if en la que compare si el nombre de la variable obtenida coincide con algún campo del array. Si es así, lo dejo como está, en caso contrario elimino del texto esa etiqueta.

Y ahora... ¿cómo puedo hacer todo esto?, ¿alguien tiene una idea mejor?.

Gracias

Saludos
  #2 (permalink)  
Antiguo 16/05/2007, 11:25
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 10 meses
Puntos: 2135
Re: Eliminar ALGUNOS tags html de un textarea...

Usa strip_tags, si ves su segundo parametro es los tags que si permites.

Saludos
  #3 (permalink)  
Antiguo 16/05/2007, 11:27
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Exclamación Re: Eliminar ALGUNOS tags html de un textarea...

Hola Exchinacea.

Yo lo harìa algo parecido, eso sì no ha de faltar el if que pregunte si estàn o no las etiquetas permitidas, ya la manera lògica como lo haga cada uno cambia, pero el principio bàsico es el mismo: obtener las etiquetas que en ese momento està usando el usuario, recorrerlas e ir preguntando si estàn permitidas o no, y dependiendo de esto hacer una cosa u otra...

Ves?? el principio bàsico es el mismo... còmo lo hagas ya ve en ti!

Saludos y espero te sirva!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #4 (permalink)  
Antiguo 16/05/2007, 11:33
Avatar de Carxl
Colaborador
 
Fecha de Ingreso: agosto-2006
Ubicación: Bogotá
Mensajes: 2.993
Antigüedad: 17 años, 8 meses
Puntos: 70
Re: Eliminar ALGUNOS tags html de un textarea...

Me parece que la opcìòn de GatorV es fàcil de implementar... y tal vez òptima, digo tal vez por que no sè que tal le parezca a Exchinacea, a mì me parece que es buena

Saludos!
__________________
Hay 10 tipos de personas, los que entienden binario y los que no. (Anónimo)
www.programandoweb.com
  #5 (permalink)  
Antiguo 16/05/2007, 11:42
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: Eliminar ALGUNOS tags html de un textarea...

Cita:
Iniciado por GatorV Ver Mensaje
Usa strip_tags, si ves su segundo parametro es los tags que si permites.

Saludos
Vaya, y yo intentando reinventar la rueda y esto es precisamente lo que buscaba.

Muchas gracias a los dos
  #6 (permalink)  
Antiguo 16/05/2007, 21:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 8
Antigüedad: 17 años
Puntos: 0
Re: Eliminar ALGUNOS tags html de un textarea...

Y ahora tengo otra duda...

Supongamos que tengo permitidos realizar tablas con html en el textarea... ¿Pero y si el usuario estructura mal las tablas?, por ejemplo si no cierra con </table>, o si hay celdas y filas mal ubicadas... etc... Si se da este caso se podría alterar el diseño de la página o algo parecido...

¿Hay alguna forma de evitar esto?, ¿cómo podría saber si hay una etiqueta que no se ha cerrado?

Saludos.
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:26.