2010-12-11 8 views
1

Ich verwende einfache HTML dom, um Daten von einer Website zu extrahieren und zu phasen. Ich kann jedoch keinen der relativen Pfade im Style-Tag zu einem vollständigen ändern. Ich habe viele Kombinationen ausprobiert.Ändern Sie den relativen Pfad zu voll in CSS

Ich habe einen Beitrag hier gefunden, um ein PEAR-Skript mit einfachen HTML-DOM zu verwenden, und es hat auf allen Links außer unten gearbeitet.

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> 

Dank

Antwort

3

Die Lösung wurde hier zur Verfügung gestellt wurde aber leider gelöscht. Danke nochmal, es hat tatsächlich meine Frage gelöst.

Hier ist es für zukünftige ref.

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

ich immer noch daran interessiert wäre, wenn jemand wissen ist, wie einfach HTMLDOM auf CSS zu verwenden, da es nichts irgendwo im Netz ist. Es ist vielleicht nicht einmal möglich.