Php 如何在复杂的DOM元素字符串中隔离特定的嵌套值?

Php 如何在复杂的DOM元素字符串中隔离特定的嵌套值?,php,Php,我希望返回嵌套在a元素中的值,该元素包含一个href值,其中包含john(在本例中,它是7goals)。有什么帮助吗 <?php $html_string = '<div class="foo"><a href="../john-smith.html"><span>7 goals</span></a></div><div class="foo2"><h2><a href="../adam-

我希望返回嵌套在a元素中的值,该元素包含一个href值,其中包含
john
(在本例中,它是
7goals
)。有什么帮助吗

<?php
$html_string = '<div class="foo"><a href="../john-smith.html"><span>7 goals</span></a></div><div class="foo2"><h2><a href="../adam-green.html">8 points</a></h2></div>';
echo $isolated_character;

作为一种变体,您可以使用类DomDocument及其Xpath

$d = new DomDocument();
$d->loadHTML($html_string);
$x = new DomXpath($d);
echo $res = $x->evaluate('string(//a[contains(@href, "john")]/span)'); // 7 goals

虽然这可能适用于这个特定的示例,但它不能回答我的问题。我需要在字符串中搜索包含“john”的
href
值,并在嵌套的
中返回该值。很高兴提供帮助。祝你好运