2010-09-01 36 views
4

我想知道是否有類似JQuery的$('element.selector')爲PHP實現?

當我CURL和我從遠程站點獲得HTML代碼時,我想在發送到我的HTML之前只選擇我想要的標記。

感謝

+0

您正在尋找「phpQuery」。 – mario 2010-09-01 21:22:20

回答

14

PHP Simple HTML DOM Parser有一個類似的功能:

// Create DOM from URL or file 
$html = file_get_html('http://www.google.com/'); 

// Find all images 
foreach($html->find('img') as $element) 
     echo $element->src . '<br>'; 

// Find all links 
foreach($html->find('a') as $element) 
     echo $element->href . '<br>'; 
+0

大聲笑我翻了我的意見,當我注意到下載鏈接到dom解析器。對不起;-)感謝您向我展示HTML DOM分析器,即使我現在只處理XHTML,只使用DOM。 – 2010-09-01 19:31:51

+0

DOMDocument/DOMXPath在C級別實現速度更快,它可以同樣處理格式錯誤的HTML,甚至可能更好。編寫一些幫助函數在XPath中改變'jquery'/'css'選擇符並不難。 – Wrikken 2010-09-01 21:04:56

1
$ctx = xpath_new_context($doc); 
$xpath_nodes = xpath_eval($ctx, "//some_element"); 
+1

這是一個很好的解決方案,但它假設開發人員已經爲他們的html輸出編寫了兼容和格式良好的xml,除非在開發週期內嚴格執行它(這很少見) 。 – 2010-09-01 19:49:36

+1

我曾經通過整潔的擴展運行糟糕的代碼。問題解決了。 – 2010-09-02 03:11:20

0

你可以使用服務器端的JavaScript。儘管如此,我還沒有做到這一點。