1

我使用简单的 html dom 来抓取新闻网站。经过长时间搜索将反应性 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?

4

1 回答 1

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 树重新创建它,它将提供修改后的源

于 2013-05-16T09:21:42.863 回答