Pregunta

¿Cómo imprimo el atributo an de un elemento?

ejemplo:

$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 ?
}
¿Fue útil?

Solución

Use Dotelement :: getattribute

$art->getAttribute('class');

Además, simplehtmldom es más adecuado para tratar con HTML:

$html = str_get_html($page);
foreach($html->find('td') as $element) 
   echo $element->class.'<br>';
}

Otros consejos

DOMXPath's query la función devuelve un DOMNodeList, que (estoy bastante seguro) no se puede utilizar en un foreach($ARRAY) bucle [Editar:puede]. Tendrás que implementar una modificación. for bucle para leer el DOMNode elementos dentro de la clase de lista: [Editar:no es necesario;vea abajo]

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");
     }
}
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top