Wrap all images with a div using DOMDocument

前端 未结 1 1010
太阳男子
太阳男子 2020-12-16 21:02

I have a large html document, with several images. I want to wrap all the images inside div.wrapped. How would I do this with DOMDocument?

1条回答
  •  一向
    一向 (楼主)
    2020-12-16 21:45

    I never used DOMdocument before, but I think you mean something like this:

    $html = <<
        
            :( -> :)
        
        
            
            
    EOF; $dom = new DOMDocument(); $dom->loadHTML($html); //Create new wrapper div $new_div = $dom->createElement('div'); $new_div->setAttribute('class','wrapper'); //Find all images $images = $dom->getElementsByTagName('img'); //Iterate though images foreach ($images AS $image) { //Clone our created div $new_div_clone = $new_div->cloneNode(); //Replace image with this wrapper div $image->parentNode->replaceChild($new_div_clone,$image); //Append this image to wrapper div $new_div_clone->appendChild($image); }

    0 讨论(0)
提交回复
热议问题