如何在Zend_Dom_Query中获取子元素?

时间:2011-02-22 11:37:06

标签: php zend-framework parsing

如何在Zend_Dom_Query中获取子元素?

示例HTML:

<h3>
     <img src="wow/img.jpg" />
     <a href="http://wow.com">wow link</a>
</h3>

如何通过h3元素获得链接的href?

2 个答案:

答案 0 :(得分:4)

仅考虑您的示例,您可以执行以下操作:

    $testHtml = '<h3><img src="wow/img.jpg" /><a href="http://wow.com">wow link</a></h3>';

    $dom = new Zend_Dom_Query($testHtml);

    // get a element using css child selector
    $result = $dom->query('h3 > a');
    var_dump($result->current()->getAttribute('href'));
    // outputs 'http://wow.com'

答案 1 :(得分:0)

在某些情况下,有理由使用下一个结构:

$testHtml = '<h3><img src="wow/img.jpg" /><a href="http://wow.com">wow link</a></h3><h3><a href="http://wow2.com">wow link2</a></h3>';
$znd = new Zend_Dom_Query($testHtml);
$result = $znd->query('h3');
if ($item = $result->current()->getElementsByTagName('a')->item(0)) echo $item->getAttribute('href');
echo '<br>';
if ($item = $result->next()->getElementsByTagName('a')->item(0)) echo $item->getAttribute('href');

打印:

http://wow.com
http://wow2.com