2010-12-11 15 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.

Verwandte Themen