fork download
  1. <?php
  2. $doc = new DOMDocument('1.0', 'UTF-8');
  3. $doc = DOMDocument::loadHTML('<body>
  4. <a href="somewere"><img src="www.foo.com/example.gif" class="foo" alt="..."><br></a>
  5. <a href="somewere again"><img src="www.bar.com/1.jpg" class="bar" alt="..."></a>
  6. <a href="somewere again and back">Text</a>
  7. </body>
  8. ', LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
  9.  
  10. foreach ($doc->getElementsByTagName('a') as $a_node) {
  11. $div = $a_node->ownerDocument->createElement('div');
  12. $node = $a_node->parentNode->insertBefore($div, $a_node);
  13. //$node->setAttribute('href', $node->getAttribute('src'));
  14. //$node->setAttribute('rel', 'lightbox');
  15. //$node->setAttribute('title', 'some title');
  16. $node->appendChild($a_node);
  17. }
  18.  
  19. echo $doc->saveHTML();
Success #stdin #stdout 0.03s 52432KB
stdin
Standard input is empty
stdout
<body>
     <div><a href="somewere"><img src="www.foo.com/example.gif" class="foo" alt="..."><br></a></div>
     <div><a href="somewere%20again"><img src="www.bar.com/1.jpg" class="bar" alt="..."></a></div>
     <div><a href="somewere%20again%20and%20back">Text</a></div>
     </body>