如何通过类名检索 DOM 元素
可以使用多种方法从 DOM 节点检索具有特定类名的子元素。以下是一些方法:
使用 PHP DOM
PHP DOM 提供了一种强大的方法来操作 HTML 文档。要获取具有给定类名的元素,您可以使用 Xpath 选择器:
$dom = new DomDocument(); $dom->load($filePath); $finder = new DomXPath($dom); $classname = "my-class"; $nodes = $finder->query("//*[contains(@class, '$classname')]");
使用 Zend_Dom_Query
这个库提供了一个方便的界面来使用 CSS 选择器,使选择元素变得更容易:
$finder = new Zend_Dom_Query($html); $classname = 'my-class'; $nodes = $finder->query("*[class~=\"$classname\"]");
使用Xpath 版本的 *[@class~='my-class'] CSS 选择器
经过进一步调查,发现了 Xpath 版本的 CSS 选择器:
[contains(concat(' ', normalize-space(@class), ' '), ' my-class ')]
利用PHP 中的 xpath:
$finder = new DomXPath($dom); $classname = "my-class"; $nodes = $finder->query("//*[contains(concat(' ', normalize-space(@class), ' '), ' $classname ')]");
以上是如何使用 PHP 通过类名高效检索 DOM 元素?的详细内容。更多信息请关注PHP中文网其他相关文章!