我使用简单的html dom来抓一个新闻网站。经过长时间的搜索,将reative URls修复为绝对,我最终能够正确地做到这一点:
$url = 'http://www.nu.nl';
$html = file_get_html($url);
foreach($html->find('a') as $element) {
echo url_to_absolute($url, $element->href), "<br />";
}
现在的问题是,它将href作为纯文本输出。在简单的html dom中有内置函数,如“outertext”,“innertext”等等,以获得html作为简单的html。如何在上面的代码中使用此功能?我如何(例如)回显整个页面echo $html
并包含上面的代码来修复URls?
答案 0 :(得分:1)
未经测试,但我认为您可以执行类似
的操作$url = 'http://www.nu.nl';
$html = file_get_html($url);
foreach($html->find('a') as $element) {
$element->href = url_to_absolute($url, $element->href);
}
echo $html->save();
由于$element
是引用(我假设),$html->save()
将从DOM树重新创建它,它将提供修改后的源