1

シンプルな html dom を使用してニュース Web サイトをスクレイピングしています。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 をプレーンテキストとして出力することです。「outertext」、「innertext」などの単純なhtml domには、htmlをプレーンhtmlとして取得する組み込み関数があります。上記のコードでこの関数を使用するにはどうすればよいですか? (たとえば) ページ全体をエコーし​​、echo $html上記のコードを含めて URL を修正するにはどうすればよいですか?

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 に答える