You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用DOMXPath筛选包含问号的<h2>和<h3>标题?

匹配含问号的

/

标签的XPath写法

要同时筛选出**内容包含问号“?”**的<h2>和<h3>标签,需把元素类型筛选和内容筛选的条件结合起来,以下是两种可行的XPath写法:

写法一:直接指定元素类型

$query = '//h2[contains(text(), "?")] | //h3[contains(text(), "?")]';

用|符号分隔两个独立的筛选规则,分别匹配含问号的h2和h3标签。

写法二:用name()统一匹配元素类型

$query = '//*[contains("h2 h3", name()) and contains(text(), "?")]';

通过and连接两个条件:

  • 第一个条件contains("h2 h3", name())确保元素是h2或h3
  • 第二个条件contains(text(), "?")确保元素内容包含问号

你之前代码的问题说明

  • 尝试的//h2/*[contains(text(), "?")]错误在于,h2/*是选取h2标签的子元素,而非h2本身,无法匹配到符合条件的标题标签。
  • 单独的元素筛选或内容筛选规则无法满足需求,必须通过逻辑运算符(and或|)将两个条件结合。

内容的提问来源于stack exchange,提问作者Cray

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.28 18:27:06