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

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: simple_html_dom

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


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

> Без описания
Кирюха
Отправлено: 02 Августа, 2012 - 00:18:58
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Не могу понять в чем проблема.Выдает такую ошибку:

Fatal error: Call to a member function find() on a non-object

PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP include("simple_html_dom.php");
  3.  
  4.  
  5. // Создаем объект DOM на основе кода, полученного по ссылке
  6. $html = file_get_html('http://www.kamskie.ru/');
  7.  
  8. // находим наш див
  9. foreach($html->find('div#logo_and_search') as $element)
  10.     echo $element;
  11.  
  12. $html->clear(); // подчищаем за собой
  13.          unset($html);
  14.  
  15. ?>
  16.  
 
 Top
LIME
Отправлено: 02 Августа, 2012 - 00:22:49
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




 
 Top
Кирюха
Отправлено: 02 Августа, 2012 - 00:27:54
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Вот дописал

PHP:
скопировать код в буфер обмена
  1. <?PHP include("simple_html_dom.php");
  2.     ini_get('allow_url_fopen');
  3.  
  4. // Создаем объект DOM на основе кода, полученного по ссылке
  5. $html = file_get_html('http://www.kamskie.ru/');
  6.  
  7. // находим наш див
  8. foreach($html->find('div#logo_and_search') as $element)
  9.     echo $element;
  10.  
  11. $html->clear(); // подчищаем за собой
  12.          unset($html);
  13.  
  14. ?>

но все равно не работает(((
 
 Top
LIME
Отправлено: 02 Августа, 2012 - 00:29:50
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




это полный ппц
это проверка!!!! разрешено ли открывать урл как файл
параметр php.ini
(Добавление)
хоть бы прочитал описание ф-ции балбес
 
 Top
Кирюха
Отправлено: 02 Августа, 2012 - 00:39:19
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




эта функция возвращает пустую строку(((((

(Отредактировано автором: 02 Августа, 2012 - 00:39:43)

 
 Top
LIME
Отправлено: 02 Августа, 2012 - 00:43:01
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




значит false
а значит
 
 Top
Кирюха
Отправлено: 02 Августа, 2012 - 00:55:03
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




тоже пустую возвращает
 
 Top
LIME
Отправлено: 02 Августа, 2012 - 01:07:28
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




надеюсь что тебе не больше 15 лет потому отвечу
стоит прочитать описание ф-ции а также описание параметра php.ini с которым они работают в данном случае
вопросы отпадут
 
 Top
Кирюха
Отправлено: 02 Августа, 2012 - 09:30:30
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




Тут нвписано про ini_set('allow_url_fopen','1');
Спойлер (Отобразить)

Значит эта функция и устанавливает эту опцию конфигурации.....
пишу
PHP:
скопировать код в буфер обмена
  1.  
  2.  
  3. <?PHP include("simple_html_dom.php");
  4.         ini_set('allow_url_fopen','1');
  5.  
  6. // Создаем объект DOM на основе кода, полученного по ссылке
  7. $html = file_get_html('http://www.kamskie.ru/');
  8.  
  9. // находим наш див
  10. foreach($html->find('div#logo_and_search') as $div)
  11.     echo $div;
  12.  
  13.  
  14.  
  15. ?>
  16.  

Ошибка конечно перестала вылазить но и выдает пустой экран.......
(Добавление)
А вот код из примера работает
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP require_once 'simple_html_dom.php';
  3. $data = file_get_html('http://korzh.net');
  4. if($data->innertext!='' and count($data->find('a'))){
  5.     foreach($data->find('a') as $a){
  6.         echo '<a href="http://korzh.net/'.$a->href.'">'.$a->plaintext.'</a></br>';
  7.     }
  8. }
  9. ?>
  10.  

(Добавление)
как мне вывести спарсенный див с индетификатором logo_and_search и с его содержимым конечно)

(Отредактировано автором: 02 Августа, 2012 - 09:40:32)

 
 Top
Кирюха
Отправлено: 02 Августа, 2012 - 13:56:42
Post Id


Новичок


Покинул форум
Сообщений всего: 32
Дата рег-ции: Июль 2012  


Помог: 0 раз(а)




LIME пишет:
надеюсь что тебе не больше 15 лет потому отвечу
стоит прочитать описание ф-ции а также описание параметра php.ini с которым они работают в данном случае
вопросы отпадут

Я даже прописал в php.ini

если паршу с других сайтов все работает.Вот например
PHP:
скопировать код в буфер обмена
  1.  
  2. <?PHP
  3.         ini_set('allow_url_fopen','1');
  4.  
  5.  
  6. // находим наш див
  7.  require_once 'simple_html_dom.php';
  8. $data = file_get_html('http://korzh.net');
  9. if($data->innertext!='' and count($data->find('a'))){
  10.     foreach($data->find('a') as $a){
  11.         echo $a->href.'<br/>'.$a->plaintext.'</br>';
  12.     }
  13. }
  14. ?>
  15.  

но если подставляю в
PHP:
скопировать код в буфер обмена
  1. $data = file_get_html('http://kamskie.ru');
адрес своего сайта то просто пустая страница.Вот в чем проблема не могу понять.
Страница которая парсит находиться на субдомене. А страница с которой парсят на основном....
 
 Top
LIME
Отправлено: 02 Августа, 2012 - 21:39:31
Post Id


Активный участник


Покинул форум
Сообщений всего: 10732
Дата рег-ции: Нояб. 2010  


Помог: 322 раз(а)




значит получай страницу при помощи curl
http://php.su/lessons/?lesson_11
 
 Top
Kurono
Отправлено: 01 Июня, 2017 - 05:14:48
Post Id


Новичок


Покинул форум
Сообщений всего: 1
Дата рег-ции: Июнь 2017  


Помог: 0 раз(а)




Добрый день,

столкнулся с такой же ошибкой Fatal error: Call to a member function find() on a non-object.

PHP:
скопировать код в буфер обмена
  1.  
  2. require_once('mods/simple_html_dom.php');
  3.  
  4. function getMassives($themeURL) {
  5.      $html = new simple_html_dom();                  //создаем новый объект simple_html_dom
  6.      $html = file_get_html($themeURL);                      
  7.      echo $html;
  8. }
  9.  
  10.     getMassives('http://old.chelnyltd.ru/news/novosti/posts/promyit-mozgi.html');


Причем на этой странице выводит пустой экран, а на любых других страницах все выполняется.
В чем проблема и что делать?
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Вопросы новичков »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB