2010-12-11 3 views
1

私はウェブサイトからデータを抽出し、それを読みやすくするために単純なhtml domを使用しています。しかし、スタイルタグ内の実用的​​なパスの1つを完全なものに変更することはできません。私は多くの組み合わせを試みました。CSSで完全な相対パスに変更

単純な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(); 
} 

のstyle.css

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

おかげ

答えて

3

ソリューションはここに提供されましたが、残念ながら削除されました。本当に私の質問を解決してくれてありがとう。

ここは将来の参考用です。

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

誰かがcssのシンプルなHTML DOMを使用する方法を知っているなら、ネット上の何もないので、私はまだ興味があります。それは可能ではないかもしれません。