简体   繁体   English

simplehtmldom获取输入onclick

[英]simplehtmldom get input onclick

Now i've gotten mad, i've tried to get the onclick attrbute of a input element, in hours... 现在我发疯了,我试图在几个小时内获得输入元素的onclick属性。

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. find()函数返回一个dom对象数组,因此您必须指定要处理的元素的索引。

SO either use : $href = $content->find('.btnMed', 0); 所以要么使用: $href = $content->find('.btnMed', 0); wich will retuen the 1st element of the array, and in this case $href is an object... wich将检索数组的第一个元素,在这种情况下$ href是一个对象...

Or, as $href is an array, call onclick property on his first object element like this: $href = $href[0]->onclick; 或者,由于$ href是一个数组,因此在他的第一个对象元素上调用onclick属性,如下所示: $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 !";

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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