2011-04-26 126 views
4

使用PHPDOM parser一些搜索我得出的結論是,這是不可能取回CSS樣式後。任何人都可以證實嗎?使用PHP DOM訪問樣式屬性

元素可以例如被其ID識別。如果該元素具有樣式屬性(元素樣式爲style="abc"),則也可以檢索此屬性的值。但是,如果元素的樣式是由來自id CSSselector,PHP似乎沒有任何直接訪問樣式。

我看到的唯一解決方法是解析所有鏈接的CSS文件並檢查是否有任何樣式分配給該ID。是對的嗎?

+2

你究竟想要做什麼? – 2011-04-26 00:46:11

+0

我想要一個元素的backgroundImage。 – jayo 2011-04-26 00:49:25

+0

英文好嗎?只是在開玩笑:)它有點混亂,但我會嘗試回答。 – William 2011-04-26 01:06:31

回答

1

非常正確。 DOM解析器不會加載外部依賴關係,尤其不關心CSS。您必須單獨加載它們並從DOM中清晰地處理它們。

看來你可以使用CSS解析器。有些指針見Parsing CSS by regexhttp://pear.php.net/package/HTML_CSS可能是該任務的可用選擇。但你仍然需要迭代現有的CSS定義來檢測你感興趣的ID。

https://github.com/sabberworm/PHP-CSS-Parser也看起來很有用。它似乎支持用於查詢樣式設置的css選擇器。

+0

非常感謝這些指針。我會檢查一下。 – jayo 2011-04-26 01:16:32