Я получаю эту ошибку в строке 71 моего кода, однако функция этой строки выполняется правильно, и она делает то, что я ожидаю от нее.
Однако я заметил, что мой журнал ошибок заполнен этими строками:
[09-Dec-2013 14:54:02 UTC] PHP Неустранимая ошибка: вызов функции-члена find () для не-объекта в /home/sportve/public_html/open_event_common.php в строке 71
Что я проверил:
simple_html_dom_parser
уже включен, и эта функция, которую Line 71 намеревается сделать, работает.
Вот строка 71 моего кода:
$content->find('a.openevent', 0)->innertext = '';
поэтому его сбивает с толку, что вызывает эту ошибку в моем файле журнала ошибок?
Изменить: вот полный код:
<?php $url = "static/" . $cat_map[$cat]['url']; $html = file_get_html($url); $content = $html->find('div#event-pane > div#e' . $event_id, 0); $content->find('a.openevent', 0)->innertext = ''; $content->find('h3.lshtitle', 0)->onclick = ''; $content->find('h3.lshtitle', 0)->tag = 'div'; $content->find('div.lshtitle', 0)->class = 'ttl'; ?>
Основываясь на информации, которую вы предоставляете наилучшим и наиболее практичным решением, просто попробуйте проверить, пуст или нет. $html
и $content
.
9 раз из 10, когда вы получаете «Вызов функции-члена [независимо от функции] на не-объекте», что в основном означает, что объект просто не существует. Значение переменной пусто. Вот ваш код переработан:
$url = "static/" . $cat_map[$cat]['url']; if (!empty($url)) { $html = file_get_html($url); if (!empty($html)) { $content = $html->find('div#event-pane > div#e' . $event_id, 0); if (!empty($content)) { $content->find('a.openevent', 0)->innertext = ''; $content->find('h3.lshtitle', 0)->onclick = ''; $content->find('h3.lshtitle', 0)->tag = 'div'; $content->find('div.lshtitle', 0)->class = 'ttl'; } } }
Кроме того, я добавил чек, чтобы узнать, пуст ли и $url
.