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 :: Версия для печати :: phpQuery не находит таблицу по классу
Форумы портала PHP.SU » » Вопросы новичков » phpQuery не находит таблицу по классу

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

1. mikka - 01 Ноября, 2018 - 17:48:56 - перейти к сообщению
На странице сайта имеется следующая таблица (класс "topper" единственный на странице):

PHP:
скопировать код в буфер обмена
  1.  
  2. <table cellpadding="4" width="100%" cellspacing="0" border="0" class="topper">
  3.     <tbody>
  4.         <tr>
  5.             <td>
  6.                 <span onclick="(function() {vart=document.getElementById('trBirthday');
  7.                    if(t.style.display=='none'){t.style.display='';}
  8.                    else {t.style.display='none';}})();" style="cursor:pointer;color:white;"><b>
  9.                     Дни рождения: <font color="green">Прошло: 7</font> /
  10.                     <font color="red">Сегодня: 1 !!!</font> /
  11.                     <font color="orange">Завтра: 6</font> /
  12.                     <font color="blue">Скоро: 34</font></b>
  13.                 </span>
  14.             </td>
  15.             <td width="450" align="right" style="white-space:nowrap;">
  16.                 <span class="orange">Вошли&nbsp;как:&nbsp;USER</span>&nbsp;|&nbsp;<span class="tabs">выйти</span></a>&nbsp;|&nbsp;<img src="./Товары [2018-09-30 09_57_54]_files/uoff.gif">
  17.             </td>
  18.         </tr>
  19.     </tbody>
  20. </table>
  21.  

При помощи phpQuery пытаюсь ее спарсить, но результат выводит всю страницу. Что делаю не так? Код ниже:
в переменной $url находится ссылка на страницу
также хочу добавить, что если вместо таблицы искать на этой странице текстовое поле по id тогда все работает нормально
PHP:
скопировать код в буфер обмена
  1.  
  2. function get_content($url){
  3.     $content = file_get_contents($url);
  4.     $doc = phpQuery::newDocument($content);
  5.     $elem = $doc->find('.topper');
  6.     return $elem;
  7. }
  8.  
2. Строитель - 01 Ноября, 2018 - 18:07:49 - перейти к сообщению
mikka, запустил ваш код - всё ок
Спойлер (Отобразить)
3. LIME - 02 Ноября, 2018 - 21:01:37 - перейти к сообщению
Строитель попробуй насколько .topper
mikka включи ошибки
http://phpfaq[dot]ru/debug
4. mikka - 03 Ноября, 2018 - 09:29:44 - перейти к сообщению
Спасибо. Проблему устранил, все оказалось предельно банально. Для вывода использовал ранее написанную функцию, заменил ее на echo и получил нужную мне таблицу. Вот эта функция
PHP:
скопировать код в буфер обмена
  1.  
  2. function print_arr($arr){
  3.         echo '<pre>' . print_r($arr, true) . '<pre>';  
  4. }
  5.  

 

Powered by ExBB FM 1.0 RC1