【问题标题】:How to remove anchors tags from html using php querypath如何使用 php querypath 从 html 中删除锚点标签
【发布时间】:2026-01-29 10:50:01
【问题描述】:

我正在使用 php Querypath,我正在尝试从 html 中删除带有特定 href 的锚标记。

例如

<html>
<body>
   <div>
      <a  href="#down"></a>
      <a href="#top" ><img src="img.png" /> </a>
      <a href="#top" ><img src="img.png" /> </a>
   </div>
</body>
</html>

我的输出应该是

<html>
<body>
   <div>
      <a  href="#down"></a>
   </div>
</body>
</html>

href top 的锚点应该被移除。

我尝试了以下代码

$html = qp($html)->find("a#top")->remove()->writeHTML();

但它并没有删除以下锚点。

请告诉我如何在 php 查询路径中实现这一点。

非常感谢您的帮助。

【问题讨论】:

标签: php html-parsing querypath


【解决方案1】:

这将删除带有href=top 的锚标记。

$("a[href^=#top]").remove();

【讨论】:

  • 这是怎么做的:$anchors = $this->qp->top('a'); foreach($anchors as $a) { if($a->attr('href') == '#top'){ $a->remove(); } } 非常感谢