首页 >后端开发 >php教程 >如何使用 XPath 选择 CSS 类?

如何使用 XPath 选择 CSS 类?

Linda Hamilton
Linda Hamilton原创
2024-12-08 18:30:15367浏览

How to Select a CSS Class Using XPath?

如何使用 XPath 选择 CSS 类

问题:

您想要选择使用 XPath 在 HTML 文档中创建一个名为“.date”的特定类,但您的尝试是

代码:

@$doc = new DOMDocument();
@$doc->loadHTML($html);
$xml = simplexml_import_dom($doc); //Simplify XPath
$images = $xml->xpath('//[@class="date"]'); 

解决方案:

与 CSS 不同,XPath 本身不支持类选择器。但是,有一个解决方法:

正确的 XPath 语法:

//*[contains(concat(" ", normalize-space(@class), " "), " foo ")]

此表达式匹配其类属性包含子字符串的任何元素"foo"。

解释:

  • 标准化空格:删除前导和尾随空格。
  • concat:组合 " ",规范化的@class值,和“”以确保类名被包围空格。
  • 包含:检查连接的字符串是否包含“ foo ”。

示例:

<div>

XPath 查询将正确选择具有“date”类的元素并忽略“foobar”元素。

不正确的方法:

  • //*[@class="foo"]:不匹配具有多个类的元素。
  • //*[contains(@class, "foo")]:匹配包含“foo”作为子字符串的类的元素,即使它是较长类名的一部分,例如“foobar”。

以上是如何使用 XPath 选择 CSS 类?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn