php DomDocumento:¿Cómo puedo imprimir un atributo de un elemento?
-
13-09-2020 - |
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 ?
}
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 [Editar:puede]. foreach($ARRAY)
bucleTendrás que implementar una modificación. [Editar:no es necesario;vea abajo]for
bucle para leer el DOMNode
elementos dentro de la clase de lista:
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