要擷取所有這些屬性,您應該在調查已解析的元素之前,如下所示:
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){
...