Guest User

Untitled

a guest
Jan 17th, 2018
101
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.07 KB | None | 0 0
  1. <div>
  2. Lorem ipsum dolor sit amet
  3. <div>
  4. Lorem ipsum dolor sit amet
  5. </div>
  6. <div>
  7. Lorem ipsum dolor sit amet
  8. </div>
  9. <div>
  10. <div class="media_embed">
  11. <div style="xxx">
  12. <div style="xxx">
  13. <div style="xxx"></div>
  14. </div>
  15. </div>
  16. </div>
  17. </div>
  18. <div>
  19. Lorem ipsum dolor sit amet
  20. </div>
  21. </div>
  22.  
  23. <p>
  24. Lorem ipsum dolor sit amet
  25. <p>
  26. Lorem ipsum dolor sit amet
  27. </p>
  28. <p>
  29. Lorem ipsum dolor sit amet
  30. </p>
  31. <p>
  32. <div class="media_embed">
  33. <div style="xxx">
  34. <div style="xxx">
  35. <div style="xxx"></div>
  36. </div>
  37. </div>
  38. </div>
  39. </p>
  40. <p>
  41. Lorem ipsum dolor sit amet
  42. </p>
  43. </p>
  44.  
  45. <?php
  46. $embeds= $dom->getElementsByTagName('div');
  47. foreach ($embeds as $embed) {
  48. $class = $embed->getAttribute('class');
  49. if ($class == "")
  50. {
  51. $link= $dom->createElement('p');
  52. $embed->parentNode->replaceChild($link, $embed);
  53. }
  54. }
  55. ?>
  56.  
  57. <?php
  58.  
  59. $html = '<div>
  60. Lorem ipsum dolor sit amet
  61. <div>
  62. Lorem ipsum dolor sit amet
  63. </div>
  64. <div>
  65. Lorem ipsum dolor sit amet
  66. </div>
  67. <div>
  68. <div class="media_embed">
  69. <div style="xxx">
  70. <div style="xxx">
  71. <div style="background-color:red;"><p>Rojo</p></div>
  72. </div>
  73. </div>
  74. </div>
  75. </div>
  76. <div>
  77. Lorem ipsum dolor sit amet
  78. </div>
  79. </div>';
  80.  
  81. $doc = new DOMDocument();
  82. $doc->loadHTML($html);
  83.  
  84. $nodeList = $doc->getElementsByTagName('div');
  85.  
  86. // Convertimos la "nodeList" a arreglo
  87. // de lo contrario al pasar "divs" hijos a un "p"
  88. // se pierde la referencia en la "nodeList"
  89. $divs = iterator_to_array($nodeList);
  90.  
  91. foreach ($divs as $div) {
  92.  
  93. // Si no tiene atributos
  94. if (!$div->hasAttributes()) {
  95.  
  96. $p = $doc->createElement('p');
  97.  
  98. // Trasladamos todos los hijos del "div" al nuevo "p"
  99. while ($div->hasChildNodes()) {
  100. $p->appendChild($div->firstChild);
  101. }
  102.  
  103. // Reemplazamos el "div" por el "p"
  104. $div->parentNode->replaceChild($p, $div);
  105. }
  106. }
  107.  
  108. echo $doc->saveHTML();
  109.  
  110. $html='<div>Lorem ipsum dolor sit amet</div>
  111. <div>Lorem ipsum dolor sit amet</div>
  112. <div>Lorem ipsum dolor sit amet</div>
  113. <div class="media_embed"> </div>
  114. <div style="xxx"></div>
  115. <div style="xxx"></div>
  116. <div style="background-color:red;"><p>Rojo</p></div>
  117. <div>Lorem ipsum dolor sit amet</div>';
  118. $regex = '#<div>(.+?)</div>#s';
  119. $result = preg_replace( $regex,
  120. '<p>$1</p>',
  121. $html
  122. );
  123. echo $result;
  124.  
  125. <p>Lorem ipsum dolor sit amet</p>
  126. <p>Lorem ipsum dolor sit amet</p>
  127. <p>Lorem ipsum dolor sit amet</p>
  128. <div class="media_embed"> </div>
  129. <div style="xxx"></div>
  130. <div style="xxx"></div>
  131. <div style="background-color:red;"><p>Rojo</p></div>
  132. <p>Lorem ipsum dolor sit amet</p>
  133.  
  134. $('div:not([class])').contents().unwrap().wrap('<p/>');
Add Comment
Please, Sign In to add comment