SimpleHtmldom можно использовать для извлечения содержимого первого элемента с description
класса.
$html = str_get_html($html); $html->find('.description', 0)
Однако, если этот класс не существует, PHP выдает ошибку
Trying to get property of non-object
Я пытался
if(!isset($html->find('.description', 0))) { echo 'not set'; }
а также
if(!empty($html->find('.description', 0))) { echo 'not set'; }
но оба дают ошибку
Can't use method return value in write context
Каков правильный способ проверить, существует ли этот элемент?
if(($html->find('.description', 0))) { echo 'set'; }else{ echo 'not set'; }
Согласно SimpleHtmlDOM Api str_get_html ($ html) ожидает ввода строки. Сначала проверьте с помощью html validator, если ваш код хорошо отформатирован.
$htmlObj = str_get_html($html); if (!is_object($htmlObj)) return; // catch errors // or wrap further code in if (is_object($htmlObj)) { /* doWork */ }
$avalable = ($element->find('span.sold-out-text', 0)) ? 1 : 0;
Это работает для меня.
для меня ни одно из вышеприведенных решений не работало, и, наконец, я проверил это
$html = str_get_html($html); if($html){ //html found }else{ //html not found }