现在我已经生气了,我试图在几个小时内获得输入元素的onclick属性......
我收到以下错误:
Notice: Trying to get property of non-object in C:\wamp\www\glitcher\ab.php on line 6
这是片段:
<?php
include 'simple_html_dom.php';
$content='<input type="button" onclick="s8Ajax(\'/bounty.php?hitlist_id=32234066&formNonce=166f7ddc73ce8024c3a6a2b894fa0c83a3d5272c&setTab1Badge=&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;
?>
提前致谢
答案 0 :(得分:4)
find()函数返回一个dom对象数组,因此你必须指定你想要处理的元素的索引。
所以要么使用:$href = $content->find('.btnMed', 0);
将重新调整数组的第一个元素,在这种情况下,$ href是一个对象......
或者,因为$ href是一个数组,所以在他的第一个对象元素上调用onclick属性,如下所示:$href = $href[0]->onclick;
这是一个完整的工作示例:
$text = '<input type="button" onclick="s8Ajax(\'/bounty.php?hitlist_id=32234066&formNonce=166f7ddc73ce8024c3a6a2b894fa0c83a3d5272c&setTab1Badge=&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 !";