Как получить текстовые узлы в DOM и PHP? - PullRequest
2 голосов
/ 23 сентября 2009

У меня есть следующий код для извлечения всех гиперссылок в документе HTML

и мой вопрос - как извлечь текстовые узлы внутри каждого тега привязки

(даже если текстовый узел является дочерним по отношению к дочернему элементу, как, например, если у узла привязки есть узел пролета, в котором есть текстовый узел)?

     <?PHP
               $content = "
               <html>
               <head>
               <title>bar , this is an example</title>
               </head>
               <body>
               <a href='aaa'><span>bbb</span></a>
               </body>
               </html>
               ";




        $dom = new DOMDocument();
        @$dom->loadHTML($content);
        $xpath = new DOMXPath($dom);
        $row = $xpath->evaluate("/html/body//a");

        for ($i = 0; $i < $row->length; $i++) {
            $anchor = $row->item($i);
            $href  = $anchor->getAttribute('href');
            // I want the grab the text value which is inside the anchor
            $text = //should have the value "bbb"
        }
       ?>

Спасибо

Ответы [ 2 ]

3 голосов
/ 23 сентября 2009

<code>$anchor->textContent

Чуть больше информации здесь DOMNode-> textContent

: D

0 голосов
/ 23 сентября 2009

Вот что вы можете сделать:

(string)$anchor->nodeValue;

Как указано в DomDocument :: DomNode page

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...