1

要素の属性を印刷するにはどうすればよいですか?

例:

$doc = new DOMDocument();
@$doc->loadHTML($page);
$xpath = new DOMXPath($doc);
$arts= $xpath->query("/td");

foreach ($arts as $art) {
   // here i wanna print the attribute class of the td element, how do i do so ?
}
4

2 に答える 2

1

DOMElement::getAttributeを使用します

$art->getAttribute('class');

また、simpleHTMLDOMはhtmlの処理に適しています。

$html = str_get_html($page);
foreach($html->find('td') as $element) 
   echo $element->class.'<br>';
}
于 2010-07-10T17:08:24.307 に答える
1

DOMXPathquery関数は a を返しますがDOMNodeListこれは (確かに)foreach($ARRAY)ループでは使用できません [編集: 使用できます]リスト クラス内の要素を読み取るために、変更されたループを実装するforDOMNode 必要があります。[編集: 必要ありません。下記参照]

foreach ($arts as $art) {
     # code-hardiness checking
     if ($art && $art->hasAttributes()) {
         # (note: chaining will only work in PHP 5+)
         $class = $art->attributes->getNamedItem('class');
         print($class . "\n");
     }
}
于 2010-07-10T17:16:01.000 に答える