Ver Mensaje Individual
  #1 (permalink)  
Antiguo 30/07/2013, 22:57
Avatar de adex
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!