Не можете получить значение тега nodeValue с использованием класса DOMDocument в PHP? - PullRequest
0 голосов
/ 05 февраля 2010

Я использую класс DOMDocument для анализа HTML-документа в PHP. код таблицы, которую я использую ...

<table>
   <tr>
      <td> 123 employees </td>
   </tr>
   <tr>
      <td> $50,000 </td>
   </tr>
</table>

Я не могу получить значение узла тега, как в приведенном выше формате, т.е. (50 000 долл. США, 123 сотрудника).

Ответы [ 2 ]

0 голосов
/ 05 февраля 2010

Трудно сказать, что вы делаете неправильно, если вы не говорите, что вы делаете вообще.

Но в принципе вы должны получить ссылку на таблицу (как элемент DOM ), затем получить строки и ячейки ( дочерние узлы ) и получить узел значение оттуда.

Если ваша таблица является единственной в документе, вы получите ее через $doc->getElementsByTagName('table')->item(0)$doc, являющимся объектом документа DOM ).

0 голосов
/ 05 февраля 2010

Может быть, вы могли бы использовать XPath-запросы. Например:

$doc = new DOMDocument();
$doc->loadHTML(...your html...);

$xpath = new DOMXPath($doc);
$query = '//table/tr/td';

$entries = $xpath->query($query);

foreach ($entries as $entry)
    print_r($entry->nodeValue); (*)

Просто замените строку, отмеченную звездочкой (*), кодом, который соответствует вашим потребностям. Приветствия.

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