2011-04-13 47 views
1

如果我理解正確,當涉及到在HTML中查找東西時,應該遠離正則表達式。什麼是一個很好的選擇,這是內置到標準的PHP?PHP:內置的方式來閱讀和查找HTML中的內容

在我的特殊情況下,我現在想要找到所有帶有src,alt,height和width屬性的圖片標籤。後來我也想找到某些meta標籤。無論哪種方式,你如何用PHP來做到這一點?

我的虛擬主機上的PHP版本目前是5.2.x.

+0

重複[最佳方法來解析HTML(http://stackoverflow.com/questions/3577641/best-methods-to-parse-html/3577662#3577662)和[大部分的DOM usecases是覆蓋在這裏](http://stackoverflow.com/search?q=user%3A208809+dom),例如[抓住一個元素的href屬性](http://stackoverflow.com/questions/3820666/grabbing -he-href-attribute-of-an-a-element/3820783#3820783) – Gordon 2011-04-13 17:46:25

+0

@Gordon:您應該將您的賬戶重命名爲'GorDOM' :) – drudge 2011-04-13 18:46:53

回答

3

DOMXPath對象允許您針對PHP的XML運行XPath查詢。 XPath允許您從XML文檔中提取特定標籤。它是語言中立的(像正則表達式),幾乎所有的編程語言都支持它。的

$dom = new DOMDocument(); 
$dom->loadHTML('<html><body><img src="image.jpg" /></body></html>'); 
$xpath = new DOMXPath($dom); 
$allImgNodes = $xpath->query("//img");