使用PHP DOM访问样式属性

4
经过一番搜索,我得出结论:使用 PHPDOM 解析器 无法检索 CSS 样式。有人能否证实这一点?
一个元素可以通过其 ID 进行识别。如果该元素具有样式属性(如元素样式 style="abc"),则也可以检索该属性的值。但是,如果元素的样式是由 CSS 选择器 中的 id 定义的,则似乎没有直接访问样式的方式。
我唯一看到的解决方法是解析所有链接的 CSS 文件,并检查是否有任何样式分配给该 ID。这样对吗?

3
你究竟想做什么? - Demian Brecht
我想获取一个元素的背景图片。 - jayo
英文请?开个玩笑 :) 这有点令人困惑,但我会尝试回答。 - Lime
1个回答

1

基本上是正确的。DOM解析器不会加载外部依赖项,特别是不关心CSS。您必须单独加载它们,并从DOM中分别处理。

看起来您可以使用CSS解析器。请参见通过正则表达式解析CSS以获取一些指针。http://pear.php.net/package/HTML_CSS可能是任务的可用选择。但是,您仍然必须遍历现有的CSS定义以检测您感兴趣的ID。

https://github.com/sabberworm/PHP-CSS-Parser也看起来很有用。它似乎支持CSS选择器来查询样式设置。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接