是否有一個PHP類/庫,允許我用CSS選擇器查詢XHTML文檔?如果我能以某種方式使用CSS選擇器(jQuery已經寵壞了我!),我需要爲一些非常容易訪問的數據抓取一些頁面。有任何想法嗎?PHP CSS選擇庫?
31
A
回答
40
進一步谷歌搜索後(初步結果不是非常有幫助),似乎確實是有Zend框架庫本,連同其他一些:
10
XPath是訪問XML(和XHTML)的節點相當標準的方式,並提供了比CSS更精確。
1
對於文檔解析我使用DOM。這可以很容易地解決你的問題,如果你知道的標籤名稱(本例中「格」):
$doc = new DOMDocument();
$doc->loadHTML($html);
$elements = $doc->getElementsByTagName("div");
foreach ($elements as $e){
if ($e->getAttribute("class")!="someclass") continue;
//its a div.classname
}
不知道DOM可以讓你得到一個文檔中的所有元素一次......你可能要做一個樹遍歷。
5
1
我寫了我的,基於Mootools CSS選擇器引擎http://selectors.svn.exyks.org/。它依靠SimpleXML擴展能力(所以,它的只讀)
6
還有一句:
http://querypath.org/
6
很大一塊是symfony中2,CssSelector\ParserIntroduction的一個組成部分。它將CSS選擇器轉換爲XPath表達式。看看=)
3
我結束了使用PHP Query Lite,這是非常簡單,所有我需要的。
相關問題
- 1. CSS選擇選擇
- 2. 數據庫選擇(PHP)
- 3. CSS選擇元件選擇
- 4. 選擇CSS選擇器
- 5. CSS選擇器選擇
- 6. Sass or CSS with PHP選擇什麼
- 7. PHP數組CSS屬性選擇器
- 8. 計數CSS選擇
- 9. CSS選擇器
- 10. [CSS]:在選擇
- 11. CSS選擇器 -
- 12. CSS選擇
- 13. CSS選擇
- 14. CSS鏈選擇
- 15. CSS:選擇後
- 16. 根據選擇框值(php + Ajax)選擇數據庫表
- 17. 選擇選項的CSS
- 18. PHP的MySQL數據庫選擇
- 19. PHP從數據庫中選擇數據
- 20. PHP選擇多行MYSQL數據庫
- 21. MySQL數據庫組合和PHP選擇
- 22. PHP「沒有選擇數據庫」
- 23. 數據庫未選擇php 5.3
- 24. mulitiple數據庫選擇php mysql
- 25. 在php中選擇數據庫標籤
- 26. PHP錯誤:沒有選擇數據庫
- 27. 數據庫的最佳選擇爲php
- 28. PHP數據庫類 - 選擇功能
- 29. PHP和MySQL從數據庫中選擇
- 30. PHP PDO沒有選擇數據庫
+1 phpQuery絕對精彩。 – Sampson 2009-07-17 18:36:00
我試過了你列出的3個項目。最後,我的選擇是簡單的HTML DOM,純粹是因爲它們很簡單,很好地解釋了它的用法。 phpQuery完成了這項工作,但我覺得好像缺少文檔和支持。 Zend成功地抓住了我的查詢並計算了它,但是在獲取值時,它失敗了。同樣,我的建議是簡單的HTML DOM。 – NessDan 2010-12-10 02:50:47
雖然簡單的html dom非常流行,但a)它沒有很好的全選選項語法的覆蓋率b)它不會*顯示*處於活動的開發中。 – 2011-12-07 11:42:41