使用 PHP DOM 访问样式属性

Posted

技术标签:

【中文标题】使用 PHP DOM 访问样式属性【英文标题】:Use PHP DOM to access style properties 【发布时间】:2011-08-12 16:32:05 【问题描述】:

经过一番搜索,我得出结论,使用 PHP DOM parser 无法检索 CSS 样式。谁能确认一下?

一个元素可以例如由其ID 识别。如果该元素具有样式属性(元素样式style="abc"),则也可以检索该属性的值。但是,如果元素的样式由 CSS selector 中的 id 定义,则 PHP 似乎无法直接访问这些样式。

我看到的唯一解决方法是解析所有链接的 CSS 文件并检查是否有任何样式分配给 ID。对吗?

【问题讨论】:

你到底想做什么? 我想获取一个元素的背景图片。 英文好吗?开个玩笑:)这有点令人困惑,但我会尝试回答。 【参考方案1】:

非常正确。 DOM 解析器不加载外部依赖项,尤其不关心 CSS。您必须单独加载它们并与 DOM 分开处理。

看来您可以为此使用 CSS 解析器。请参阅Parsing CSS by regex 获取一些提示。 http://pear.php.net/package/html_CSS 可能是该任务的可用选择。但是您仍然需要遍历现有的 CSS 定义来检测您感兴趣的 ID。

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

【讨论】:

以上是关于使用 PHP DOM 访问样式属性的主要内容,如果未能解决你的问题,请参考以下文章

JS DOM基础 操作属性类CSS样式

使用 DOM 样式使用 Javascript 获取或更改 CSS 类属性

温故而知新-Javascript为DOM元素设置样式

解析DOM节点对象的属性

DOM属性 和样式

jQuery:DOM的属性内容样式操作