我有一个包含大量<li>
个数据集的字符串。我想得到这个值:
1: call.php?category=fruits&fruitid=123456
使用xpath在onclick内部。我当前的xpath没有得到onclick值,所以我进一步解析它以获取我所需的数据!任何人都可以告诉我获取onclick值的正确xpath是什么?
libxml_use_internal_errors(true);
$dom = new DOMDocument;
$dom->loadHTML($code2);
$xpath = new DOMXPath($dom);
// Empty array to hold all links to return
$result = array();
//Loop through each <li> tag in the dom
foreach($dom->getElementsByTagName('li') as $li) {
//Loop through each <a> tag within the li, then extract the node value
foreach($li->getElementsByTagName('a') as $links){
$result[] = $links->nodeValue;
echo $result[0] . "\n";
}
$onclicks = $xpath->query("//li/a/onclick");
foreach ($onclicks as $onclick) {
echo $onclick->nodeValue . "\n";
}
}
数据:
<li><a id="FR123456" onclick="setFood(false);setSeasonFruitID('123456');getit('call.php?category=fruits&fruitid=123456&',detailFruit,false);">mango season</a><img src="http://imagehosting.com/images/fru_123456.png">
</li>
答案 0 :(得分:1)
onclick
是一个属性,您使用@attribute_name
来引用XPath中的属性:
$onclicks = $xpath->query("//li/a/@onclick");
foreach ($onclicks as $onclick) {
echo $onclick->nodeValue . "\n";
}
答案 1 :(得分:1)
尝试这样的事情:
$onclicks = $xpath->query("//li/a");
foreach ($links as $link) {
echo $link->getAttribute('onclick'). "\n";
}