Foros del Web » Programando para Internet » PHP »

Función eliminar html

Estas en el tema de Función eliminar html en el foro de PHP en Foros del Web. Amigos del foro, el siguiente código me sirve para limpiar el código HTML que viene con style="", class="", id="", algo="" etc. Todo marcha bien, pero ...
  #1 (permalink)  
Antiguo 30/07/2013, 22:57
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Pregunta Función eliminar html

Amigos del foro, el siguiente código me sirve para limpiar el código HTML que viene con style="", class="", id="", algo="" etc.

Todo marcha bien, pero es un poco lioso tener que habilitar cada operación para cada proceso que se quiera eliminar. ¿Se podrá unir todo en una sola función? (// 1, 2, 3, 4...)

Código PHP:
Ver original
  1. <?php
  2. $html = '
  3. <p style="p-estilo-uno">p-estilo-uno</p>
  4. <p class="p-class-dos">p-class-dos</p>
  5. <div class="d-class-uno"><b>d-class-uno</b></div>
  6. ';
  7.  
  8. $domd = new DOMDocument();
  9. $domd->loadHTML($html);
  10.  
  11. $domx = new DOMXPath($domd);
  12. //$items = $domx->query("//p[@style]"); //1
  13. //$items = $domx->query("//p[@class]"); //2
  14. $items = $domx->query("//div[@class]"); //3 eliminamos los estilos DIV
  15. //$items = $domx->query("//div[@id]");  //4
  16. //$items = $domx->query("//span[@class]"); //5
  17.  
  18. foreach($items as $item) {
  19.   //$item->removeAttribute("style"); //4
  20.   //$item->removeAttribute("class"); //2
  21.   $item->removeAttribute("class");   //3
  22.   //$item->removeAttribute("id");    //4
  23.   //$item->removeAttribute("class"); //5
  24. }
  25.  
  26. echo $domd->saveHTML();
  27.  
  28. ?>

Gracias!
  #2 (permalink)  
Antiguo 30/07/2013, 23:01
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 16 años
Puntos: 2534
Respuesta: Función eliminar html

Cita:
¿Se podrá unir todo en una sola función?
¡Por supuesto que sí!

Ahora, la función debes escribirla tu, si no sabes hacerlo o nunca has escrito una te sugiero leer el manual.

http://php.net/manual/es/functions.user-defined.php

No esperes a que alguien haga tu trabajo.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #3 (permalink)  
Antiguo 30/07/2013, 23:17
Avatar de adex  
Fecha de Ingreso: marzo-2002
Ubicación: Lima, Perú, América Latina
Mensajes: 445
Antigüedad: 22 años, 1 mes
Puntos: 0
Respuesta: Función eliminar html

Gracias por responder.

Pero antes tengo que aclarar que no pido que nadie haga mi trabajo, al foro acudimos para que nos echen una mano en algo que no entendemos o no logramos comprender como funciona; pero si alguien no está en la capacidad "solidaria" de hacerlo o no ha sido el mejor de sus días, pues ni modo. De todas maneras mil mil gracias.
  #4 (permalink)  
Antiguo 31/07/2013, 09:42
Avatar de GatorV
$this->role('moderador');
 
Fecha de Ingreso: mayo-2006
Ubicación: /home/ams/
Mensajes: 38.567
Antigüedad: 17 años, 11 meses
Puntos: 2135
Respuesta: Función eliminar html

Ya pateketrueke te dejó la referencia a la documentación, eso es todo lo que necesitas para crear la función que necesitas para limpiar.

Saludos.

Etiquetas: html
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 03:06.