У меня есть большой html-документ с несколькими изображениями. Я хочу обернуть все изображения внутри div.wrapped
. Как мне это сделать с DOMDocument
?
Я видел метод appendChild
, но это только добавляет элементы в конце. Как я могу вставить один в середине, а затем переместить изображение внутри него?
Раньше я никогда не использовал DOMdocument, но, думаю, вы имеете в виду что-то вроде этого:
$html = <<<EOF <html> <head> <title>:( -> :)</title> </head> <body> <img src="www.com" /> <div class="random"> <img src="www.ru" /> </div> </body> </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); }