我使用简单的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>
由于
答案 0 :(得分:3)
此处提供了解决方案,但遗憾的是删除了。再次感谢,它确实解决了我的问题。
这是为了将来参考。
$htmlcss = preg_replace('/url\(\s*[\'"]?\/?(.+?)[\'"]?\s*\)/i', 'url('.
$baseURI.'/$1)', $htmlcss);
如果有人知道如何在css上使用简单的html dom,我仍然会感兴趣,因为网上没有任何东西。甚至可能都不可能。