首頁 >後端開發 >php教程 >如何使用 PHP 透過類別名稱高效率地選擇 DOM 元素?

如何使用 PHP 透過類別名稱高效率地選擇 DOM 元素?

Susan Sarandon
Susan Sarandon原創
2024-12-05 20:27:11230瀏覽

How Can I Efficiently Select DOM Elements by Class Name Using PHP?

使用 PHP DOM 透過類別名稱取得 DOM 元素

使用 PHP DOM 時,根據類別取得節點內的特定元素至關重要。讓我們來探索實現此目標的最佳方法:

XPath 選擇器

$dom = new DomDocument();<br>$dom->load($filePath); <br>$finder = new DomXPath($dom);<br>$classname = "my-class";<br>$nodes = $finder->query("//*[contains(@class, '$classname')]");<br>

此方法使用XPath 選擇具有指定類別屬性的所有元素。

Zend_Dom_Query CSS選擇器

如果您喜歡CSS 選擇器語法,Zend_Dom_Query 提供了一個方便的解決方案:

$finder = new Zendom_Query($Dom_Query($ html);<br>$classname = 'my-class ';<br>$節點= $finder->query("*[class~='$classname']");<br>

更新:*[@class ~=' 的XPath 版本my-class'] CSS 選擇器

使用Zend_Dom_Query 解析CSS選擇器會顯示等效的XPath表達式:

$nodes = $finder->query("[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]" );<br>

直接利用此XPath,您可以查詢包含指定類別的元素,而無需使用Zend_Dom_Query.

按類別選擇元素時,值得注意的是,如果已知元素類型,可以將*替換為對應的標籤名,縮小搜尋範圍,提高效率。

以上是如何使用 PHP 透過類別名稱高效率地選擇 DOM 元素?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn