在css中将相对路径更改为full

时间:2010-12-11 23:21:47

标签: php css absolute-path

我使用简单的html dom从网站中提取数据并对其进行解析。但是,我无法将样式标记中的一个重新路径更改为完整路径。我尝试了很多种组合。

我在这里发现了一个帖子,使用带有简单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>

由于

1 个答案:

答案 0 :(得分:3)

此处提供了解决方案,但遗憾的是删除了。再次感谢,它确实解决了我的问题。

这是为了将来参考。

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

如果有人知道如何在css上使用简单的html dom,我仍然会感兴趣,因为网上没有任何东西。甚至可能都不可能。