1

私は単純な html dom を使用して、Web サイトからデータを抽出し、それを分析しています。ただし、スタイル タグの実際のパスの 1 つを完全なパスに変更することはできません。私は多くの組み合わせを試しました。

シンプルな html dom で PEAR スクリプトを使用する投稿をここで見つけましたが、以下を除くすべてのリンクで機能しました。

require_once 'includes/URL2.php';

$uri = new Net_URL2('http://www.stormcinemas.ie'); // URI of the resource
$baseURI = $uri;

foreach ($htmlcss->find('background[url]') as $elem) {
    $elem->url = $baseURI->resolve($elem->url)->__toString();
}

foreach ($html->find('*[src]') as $elem) {
    $elem->src = $baseURI->resolve($elem->src)->__toString();
}
foreach ($html->find('*[href]') as $elem) {
    if (strtoupper($elem->tag) === 'BASE') continue;
    $elem->href = $baseURI->resolve($elem->href)->__toString();
}
foreach ($html->find('form[action]') as $elem) {
    $elem->action = $baseURI->resolve($elem->action)->__toString();
}

スタイル.css

<style> 
div.spriteImgSmall { background: url(/images/css_sprites/film_sprites/smallimages_sprite.jpg); } 
</style>

ありがとう

4

1 に答える 1

3

解決策はここで提供されましたが、残念ながら削除されました。もう一度ありがとう、それは実際に私の質問を解決しました。

これは将来の参照用です。

$htmlcss = preg_replace('/url\(\s*[\'"]?\/?(.+?)[\'"]?\s*\)/i', 'url('.
        $baseURI.'/$1)', $htmlcss);

ネット上には何もないので、誰かがcssで単純なhtml domを使用する方法を知っていれば、私はまだ興味があります。それは不可能かもしれません。

于 2010-12-13T01:43:50.173 に答える