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

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

1. Кирюха - 02 Августа, 2012 - 00:18:58 - перейти к сообщению
Не могу понять в чем проблема.Выдает такую ошибку:

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.  
2. LIME - 02 Августа, 2012 - 00:22:49 - перейти к сообщению
3. Кирюха - 02 Августа, 2012 - 00:27:54 - перейти к сообщению
Вот дописал

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. ?>

но все равно не работает(((
4. LIME - 02 Августа, 2012 - 00:29:50 - перейти к сообщению
это полный ппц
это проверка!!!! разрешено ли открывать урл как файл
параметр php.ini
(Добавление)
хоть бы прочитал описание ф-ции балбес
5. Кирюха - 02 Августа, 2012 - 00:39:19 - перейти к сообщению
эта функция возвращает пустую строку(((((
6. LIME - 02 Августа, 2012 - 00:43:01 - перейти к сообщению
значит false
а значит
7. Кирюха - 02 Августа, 2012 - 00:55:03 - перейти к сообщению
тоже пустую возвращает
8. LIME - 02 Августа, 2012 - 01:07:28 - перейти к сообщению
надеюсь что тебе не больше 15 лет потому отвечу
стоит прочитать описание ф-ции а также описание параметра php.ini с которым они работают в данном случае
вопросы отпадут
9. Кирюха - 02 Августа, 2012 - 09:30:30 - перейти к сообщению
Тут нвписано про 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 и с его содержимым конечно)
10. Кирюха - 02 Августа, 2012 - 13:56:42 - перейти к сообщению
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');
адрес своего сайта то просто пустая страница.Вот в чем проблема не могу понять.
Страница которая парсит находиться на субдомене. А страница с которой парсят на основном....
11. LIME - 02 Августа, 2012 - 21:39:31 - перейти к сообщению
значит получай страницу при помощи curl
http://php.su/lessons/?lesson_11
12. Kurono - 01 Июня, 2017 - 05:14:48 - перейти к сообщению
Добрый день,

столкнулся с такой же ошибкой 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');


Причем на этой странице выводит пустой экран, а на любых других страницах все выполняется.
В чем проблема и что делать?

 

Powered by ExBB FM 1.0 RC1