Как получить дочерний элемент в Zend_Dom_Query? - PullRequest
1 голос
/ 22 февраля 2011

Как получить дочерний элемент в Zend_Dom_Query?

Пример HTML:

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

Как получить ссылку на элемент через элемент h3?

Ответы [ 2 ]

4 голосов
/ 22 февраля 2011

Рассматривая только ваш пример, вы можете сделать следующее:

    $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'
0 голосов
/ 29 сентября 2011

В некоторых случаях целесообразно использовать следующую конструкцию:

$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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...