按类名检索 DOM 元素
使用 PHP DOM 导航 HTML 文档时,根据类名访问元素至关重要。这个问题解决了获取 DOM 节点中拥有指定类属性的子元素的最有效方法。
Xpath 选择器方法:
Xpath 选择器可以有效地定位与给定类名匹配的元素。例如,要检索类为“my-class”的元素,请使用以下 Xpath:
$finder = new DomXPath($dom); $classname = "my-class"; $nodes = $finder->query("//*[contains(@class, '$classname')]");
CSS 选择器方法:
如果您打算使用复杂的选择器执行广泛的 DOM 元素选择,请考虑使用 Zend_Dom_Query。它支持 CSS 选择器语法,使其类似于 jQuery 库。
$finder = new Zend_Dom_Query($html); $classname = 'my-class'; $nodes = $finder->query("*[class~=\"$classname\"]");
更新:*[@class~='my-class'] CSS 选择器
对于那些对 Zend_Dom_Query 的内部工作原理感到好奇的人,上面的 CSS 选择器编译为以下内容Xpath:[contains(concat(' ', normalize-space(@class), ' '), ' my-class ')]此 Xpath 表达式可确保类属性包含指定的类名,即使被空格包围也是如此。
以上是如何使用 PHP 通过类名高效检索 DOM 元素?的详细内容。更多信息请关注PHP中文网其他相关文章!