i am using simple_html_dom to get a text from a website but it gives me
Notice: Trying to get property of non-object in C:\wamp64\www\fetch.php on line 6
the website has this.
<div>
<div class="info">number: (IUL)306/306/2016/68</div>
<div class="info">published date: 14 june 2016</div>
<div class="info">published time: 1442</div>
<div class="info">expiry time 23 june 2016 1100</div>
<div>
my php looks like this which i am trying to get the second div with class info.
<php?include_once('simple_html_dom.php');
$html = file_get_html('http://www.example.com');
$html->save();
foreach($html->find('div[class=info]', 2) as $e)
$pdate = $e->innertext . '<br>';
echo "pdate: $pdate";
?>
any possible solutions to achieve this?
If you're providing the index:
$html->find('div[class=info]', 2)
^ this one
You're going to get the element directly. So you might as well use the ->innertext
straight ahead. You already got the third element:
$info = $html->find('div[class=info]', 2);
echo $info->innertext;
No need for that foreach
.
If you need that foreach
, then just use this alone:
$html->find('div[class=info]')
// ^ note: the second argument is omitted
This will give you the collection of elements found. Example:
foreach($html->find('div[class=info]') as $e) {
echo $e->innertext, '<br/>';
}
This is actually covered in the manual.
Its under How to find HTML elements? section.