繁体   English   中英

使用domXpath搜索锚点

[英]Using domXpath to search for anchor

我想在html文件或文本中搜索链接中具有“朋友”的锚点。 那就是: 扎克是你的朋友

然后,当它与锚点匹配时,应返回href属性和锚点(链接)。 我已经尝试了谷歌搜索,但到目前为止我还不了解domXpath,其他示例仅搜索href属性。 我需要代码来存档。

Xpath可以做到这一点。 xpath表达式可以包含节点的条件。 因此,让我们开始选择文档中任何位置的所有元素:

//a

现在,在条件内,使用node()获取所有子节点(元素和文本),并将其转换为string() ,检查该字符串是否contains()子字符串“ friend”

//a[contains(string(node()), "friend")]

遍历节点并从节点读取数据。

$html = <<<'HTML'
  <a href="foo.html">zack is your friend</a>
HTML;

$dom = new DOMDocument;
$dom->loadHtml($html);
$xpath = new DOMXpath($dom);

$nodes = $xpath->evaluate('//a[contains(string(node()), "friend")]');
foreach ($nodes as $node) {
  var_dump(
    array(
      'href' => $node->getAttribute('href'),
      'text' => $node->textContent
    )
  );
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM