简体   繁体   中英

simplehtmldom get input onclick

Now i've gotten mad, i've tried to get the onclick attrbute of a input element, in hours...

Am getting the following error:

Notice: Trying to get property of non-object in C:\wamp\www\glitcher\ab.php on line 6

this is the snippet:

<?php
include 'simple_html_dom.php';
$content='<input type="button" onclick="s8Ajax(\'/bounty.php?hitlist_id=32234066&amp;formNonce=166f7ddc73ce8024c3a6a2b894fa0c83a3d5272c&amp;setTab1Badge=&amp;h=891173dbc0c1aef4bec8592a7e3e74306efa7065\')" class="btnMed" style="font-size: 15px;" value="Add to Hit List">';
$content=str_get_html($content);
$href=$content->find('.btnMed');
$href=$href->onclick;
echo $href;
?>

Thanks in advance

find() function returns an array of dom objects, therefore you must specify the index of the element you want to work on.

SO either use : $href = $content->find('.btnMed', 0); wich will retuen the 1st element of the array, and in this case $href is an object...

Or, as $href is an array, call onclick property on his first object element like this: $href = $href[0]->onclick;

Here's a full working example:

$text = '<input type="button" onclick="s8Ajax(\'/bounty.php?hitlist_id=32234066&amp;formNonce=166f7ddc73ce8024c3a6a2b894fa0c83a3d5272c&amp;setTab1Badge=&amp;h=891173dbc0c1aef4bec8592a7e3e74306efa7065\')" class="btnMed" style="font-size: 15px;" value="Add to Hit List">';

//Create a DOM object
$html = new simple_html_dom();
// Load HTML from a string
$html->load($text);

// Find the first elements with class 'btnMed'
$btn = $html->find('.btnMed', 0);

// Find succeeded
if ($btn) {
    $href = $btn->onclick;
    echo $href;
}
else
    echo "Find function failed !";

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM