J'ai ce HTML :
<p><img alt="" height="400" src="img.jpg" width="800" /></p>
J'essaie d'utiliser PHP DomDocument pour le transformer en ceci :
<figure><img src="img.jpg"></figure>
Voici mon code :
$data='<p><img alt="" height="400" src="img.jpg" width="800" /></p>';
$doc = new DOMDocument();
$doc->loadHTML($data, LIBXML_HTML_NOIMPLIED | LIBXML_HTML_NODEFDTD);
$xpath = new DOMXPath($doc);
$imgtags = $doc->getElementsByTagName('img');
foreach ($imgtags as $key => $imgvalues){
$parent = $imgvalues->parentNode;
$imgsrc = $imgvalues->getAttribute('src');
$newimg = $doc->createElement('img');
$newimg->setAttribute('src', $imgsrc);
$figure = $doc->createElement('figure');
$figure->appendChild($newimg);
$imgvalues->parentNode->replaceChild($figure, $imgvalues);
}
$body1 = $doc->saveHTML($doc->documentElement);
Mais le résultat est le suivant :
<p><figure><img src="img.jpg"></figure></p>