我有一个字符串,里面有很多<li>
数据集。我想获取此值:
1: call.php?category=fruits&fruitid=123456
内部点击使用 xpath.我当前的 xpath 没有为我获取 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>
onclick
是一个属性,您可以使用 @attribute_name
在 XPath 中引用属性:
$onclicks = $xpath->query("//li/a/@onclick");
foreach ($onclicks as $onclick) {
echo $onclick->nodeValue . "'n";
}
尝试这样的事情:
$onclicks = $xpath->query("//li/a");
foreach ($links as $link) {
echo $link->getAttribute('onclick'). "'n";
}