为了账号安全,请及时绑定邮箱和手机立即绑定

为什么 XPath count() 在 PHP 中对我不起作用?

为什么 XPath count() 在 PHP 中对我不起作用?

PHP
慕村225694 2022-07-16 16:29:54
我正在尝试使用 XPath 从文档中获取所有部分标题元素( H1, H2, H3, H4, H5, )的数量,例如:H6    $headerCount=$xpath->query("count(//*[self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6])"); 我使用此示例在http://www.xpathtester.com/xpath上测试了上述查询,结果为“6”:<h2>Header 1</h2><h2>Header 2</h2><h3>Header 2.1</h3><h4>Header 2.1.1</h4><h2>Header 3</h2><h3>Header 3.1</h3>但是当我尝试像这样使用 $headerCount 时:echo "count: ".$headerCount->textContent;我收到此错误:Undefined property: DOMNodeList::$textContentDOMNodeList建议有一个节点列表,但我认为它只是一个数值,例如所有标题的数量为 6。谁能阐明我如何才能获得文档中所有标题的数量?
查看完整描述

1 回答

?
大话西游666

TA贡献1817条经验 获得超14个赞

你的 XPath 很好;需要调整的是您的 PHP(正如 Alejandro在有用的评论中指出的那样)。

使用DOMXPath::evaluate代替DOMXPath::query

$headerCount=$xpath->evaluate("count(//*[self::h1 or self::h2 or self::h3 or self::h4 or self::h5 or self::h6])");

正如预期的那样,然后$headerCount只是一个数值,例如所有标题的数量为 6 。


查看完整回答
反对 回复 2022-07-16
  • 1 回答
  • 0 关注
  • 116 浏览

添加回答

举报

0/150
提交
取消
微信客服

购课补贴
联系客服咨询优惠详情

帮助反馈 APP下载

慕课网APP
您的移动学习伙伴

公众号

扫描二维码
关注慕课网微信公众号