Foros del Web » Programando para Internet » PHP »

Quitar html tags

Estas en el tema de Quitar html tags en el foro de PHP en Foros del Web. Buenas tengo una tabla en MySQL con un campo llamado "descripcion" del tipo "texto" donde almaceno la descripción de un producto en formato html (con ...
  #1 (permalink)  
Antiguo 08/03/2014, 03:28
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Quitar html tags

Buenas tengo una tabla en MySQL con un campo llamado "descripcion" del tipo "texto" donde almaceno la descripción de un producto en formato html (con tags)
Ejemplo : <b>hola</b>Este es mi codigo de ejemplo <ul><li>1</li><li>2</li></ul>
Entonces desde PHP si hago un "echo" del valor recibido lo interpreta y veo los tags correspondientes , hasta aquí bien
Lo que no consigo hacer es devolver este texto totalmente plano sin ningún tag he probado distintas opciones


Código PHP:
$texto $data['descripcion']; 
Opcion1
Código PHP:
$texto htmlentities($texto); //make remaining items html entries.
$texto nl2br($texto); //add html line returns
$texto str_replace(chr(10), " "$texto); //remove carriage returns
$texto str_replace(chr(13), " "$texto); //remove carriage returns 
Opcion2
Código PHP:
echo  strip_tags($data['descripcion']); 

Opcion3
Código PHP:
$texto preg_replace("/<.*?>/"" "$texto);
$texto trim(str_replace("  "" "$texto)); 

Opcion4
Código PHP:
 echo strip_tagsstr_replace'>''> '$data['descripcion'] )); 
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com

Última edición por radge; 08/03/2014 a las 06:09
  #2 (permalink)  
Antiguo 08/03/2014, 11:54
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quitar html tags

¿Y ninguna opción te sirve o cual es el problema?

Lee el manual, strip_tags() es la función correcta:

Código PHP:
Ver original
  1. echo strip_tags('<b>hola</b>Este es mi codigo de ejemplo <ul><li>1</li><li>2</li></ul>');
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 08/03/2014, 14:54
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Quitar html tags

Si si deberia funcionar con strip_tags el tema esta que yo lo recupero desde base de datos , como dije tengo una tabla en MySQL y lo recupero en un select tipo esto en el modelo ya que lo tengo programado siguiente el patrón MVC

Código PHP:
        $this->conectar();
        
$query $this->consulta("SELECT * FROM XXXX WHERE id=$idUser");
        
        
$this->disconnect();
        if(
$this->numero_de_filas($query) > 0)
        {
            while ( 
$tsArray $this->fetch_assoc($query) )
                
$data[] = $tsArray;
        
            return 
$data;
        }else
        {
            return 
'';
        } 
Por lo tanto luego en el php donde cargo la vista ya no trato con el array de la Base de datos como tal sinó con el que devuelvo por lo tanto lo tengo en $data y hago

strip_tags($data[descripcion]) y no me funciona.

Gracias
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
  #4 (permalink)  
Antiguo 08/03/2014, 15:15
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quitar html tags

Bueno, como nos es imposible adivinar los datos exactos has esto:
Código PHP:
Ver original
  1. var_dump($data['descripcion']);

¿Qué muestra?
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #5 (permalink)  
Antiguo 08/03/2014, 15:30
 
Fecha de Ingreso: enero-2004
Ubicación: here I Am
Mensajes: 437
Antigüedad: 20 años, 3 meses
Puntos: 1
Respuesta: Quitar html tags

Ya lo vi...después de muchas pruebas

Código PHP:
$texto =  htmlspecialchars_decode ($data['descripcion']);
echo 
substr(strip_tags($texto),0,200) . "..."
Gracias
__________________
Nuevo foro sobr el mundo del motor - Renault foro
http://www.renaultforo.com
  #6 (permalink)  
Antiguo 08/03/2014, 15:42
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Quitar html tags

Si tuviste que usar htmlspecialchars_decode() significa que al momento de guardar el HTML lo codificaste, es decir, alteraste su contenido original.

Eso está mal, de entrada espero que no lo hayas hecho "por seguridad".
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.

Etiquetas: html, mysql, tabla, tags
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 09:23.