Le code qui suit parse du code HTML passé en paramètre et remplace l'URL de l'attribut "src" par son équivalent en Base 64.
$dom = new DomDocument();
$dom->loadHTMLFile("test.html");
$images = $dom->getElementsByTagName("img");
foreach($images as $image)
{
$src = $image->getAttribute("src");
$img64 = base64_encode(file_get_contents($src));
$infos = pathinfo($src);
$image->setAttribute('src', 'data:image/'.$infos['extension'].';base64,'.$img64);
}
$dom->removeChild($dom->doctype);
$dom->replaceChild($dom->firstChild->firstChild->firstChild, $dom->firstChild);
echo $dom->saveHTML();