Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770
Форумы портала PHP.SU :: Версия для печати :: DOMDocument разбор таблички
Форумы портала PHP.SU » » XML и его обработка » DOMDocument разбор таблички

Страниц (1): [1]
 

1. DlTA - 10 Ноября, 2016 - 12:31:52 - перейти к сообщению
нужно разобрать табличку html, с получением данных сколько рядов и строк в табличке

делаю:

PHP:
скопировать код в буфер обмена
  1.  
  2. $result = "<table><tr><td>1</td></tr><tr><td>2</td></tr></table>";
  3. $DOM = new DOMDocument;
  4. $DOM->encoding = 'UTF-8';
  5. $DOM->loadHTML($result);
  6.  
  7. // получаем данные
  8. $listTr = $DOM->getElementsByTagName('tr');
  9.  
  10. // а теперь нужно получить данные по ячейкам, но я не знаю как??
  11. foreach ($listTr as $tr){
  12.   // $tr это только DOMNodeList, там вроде нет доступа к <td>
  13. }
  14.  


так как получить доступ к ячейкам??
2. Мелкий - 10 Ноября, 2016 - 12:42:23 - перейти к сообщению
PHP:
скопировать код в буфер обмена
  1. foreach ($tr->childNodes as $td){
  2.     var_dump($td->nodeName, $td->nodeValue);
  3.   }
3. caballero - 10 Ноября, 2016 - 12:45:37 - перейти к сообщению
для разбора HTML лучше юзать phpQuery или типа того. Тогда можно спользовать селекторы кк в jQuery
4. DlTA - 10 Ноября, 2016 - 13:44:33 - перейти к сообщению
Мелкий пишет:
PHP:
скопировать код в буфер обмена
  1. foreach ($tr->childNodes as $td){
  2.     var_dump($td->nodeName, $td->nodeValue);
  3.   }

работает,

а как перейти к n. <TR>
мне надо 1 и последняя строка
5. DlTA - 10 Ноября, 2016 - 16:32:14 - перейти к сообщению
все, нашел исправил. всем спасибо.

 

Powered by ExBB FM 1.0 RC1