要获取所有这些属性,您应该在调查已解析的元素之前,如下所示:
foreach($html->find('div[class=bar] a') as $a){
var_dump($a->attr);
}
…并查看这些属性是否存在.它们似乎不是有效的HTML,因此解析器可能会丢弃它们.
如果它们存在,你可以这样读:
foreach($html->find('div[class=bar] a') as $a){
$article = array($a->href, $a->innertext);
if (isset($a->attr['data1'])) {
$article['data1'] = $a->attr['data1'];
}
if (isset($a->attr['data2'])) {
$article['data2'] = $a->attr['data2'];
}
//...
$articles[] = $article;
}
要获得这两个类,您可以使用以逗号分隔的多重选择器:
foreach($html->find('div[class=bar] a, div[class=bar2] a') as $a){
...