我的客户拥有数百个简单的单页静态网站。它们是各种营销任务的登陆页面。它们都使用相同的相同布局 - 只是一个带有页眉和页脚的简单的两列站点。
我想在每个目标网页上复制几个特定div的内容,然后我会将它们用于流行的数据库,以便我可以使用新的后端重建它。
基本上有一个"主要" div和" sidebar" div和我需要完全按原样复制HTML,但将图像URL替换为本地托管的副本。
我能够使用以下方法为给定域创建所有图像URL的数组:
$url="http://example.com";
$html = file_get_contents($url);
$doc = new DOMDocument();
@$doc->loadHTML($html);
$tags = $doc->getElementsByTagName('img');
foreach ($tags as $tag) {
// save image to local server
}

我能够使用这种方法捕获主div的内容:
$maindiv = $doc->getElementById('main');
echo $doc->saveHTML($maindiv);

似乎运行良好,但它没有包含图像的任何内部HTML。基本上这个div包含一个段落,后跟一个HTML项目符号列表,后跟一个或两个图像,也许是最后一个段落。这段代码抓住了文本和项目符号列表但没有抓取html或图像。
有更好的方法吗?如果我能弄清楚如何迭代这些数据并获取这些div的内容,我可以节省大量的手动时间。