How to check if a SimpleHTMLDom element does not exist
16,917
Solution 1
if(($html->find('.description', 0))) {
echo 'set';
}else{
echo 'not set';
}
http://www.php.net/manual/en/control-structures.if.php
Solution 2
According to the SimpleHtmlDOM Api str_get_html($html) expects a string as input. First check with a html validator if your code is well formatted.
$htmlObj = str_get_html($html);
if (!is_object($htmlObj)) return; // catch errors
// or wrap further code in
if (is_object($htmlObj)) { /* doWork */ }
Author by
Nyxynyx
Hello :) I have no formal education in programming :( And I need your help! :D These days its web development: Node.js Meteor.js Python PHP Laravel Javascript / jQuery d3.js MySQL PostgreSQL MongoDB PostGIS
Updated on June 14, 2022Comments
-
Nyxynyx almost 2 years
SimpleHtmldom can be used to extract the contents of the first element with class
description
.$html = str_get_html($html); $html->find('.description', 0)
However if this class does not exist, PHP will throw an error
Trying to get property of non-object
I tried
if(!isset($html->find('.description', 0))) { echo 'not set'; }
and
if(!empty($html->find('.description', 0))) { echo 'not set'; }
but both gives the error
Can't use method return value in write context
What is the proper way to check if the element exist?