2010-02-21 4 views
1

Je cherche un attribut spécifique d'un élément spécifique dans un document HTML en utilisant PHP DOMDocument. En particulier, il existe un div avec un ensemble de classe unique et une seule portée à l'intérieur de celui-ci. J'ai besoin de récupérer l'attribut style de cet élément span.PHP DOMDocument, recherche d'éléments spécifiques

Exemple:

<div class="uniqueClass"><span style="text-align: center;" /></div> 

Pour cet exemple, le uniqueClass étant la seule instance de cette classe dans le document, je aurais besoin de récupérer la chaîne:

text-align: center ;

+0

Voir la question http://stackoverflow.com/questions/2571232/parse-html-with-phps-html-domdocument/22345590#22345590 – lokeshsk

Répondre

4

Vous devez utiliser la classe DOMXPath

$doc = new DOMDocument; 
// We don't want to bother with white spaces 
$doc->preserveWhiteSpace = false; 

$doc->loadHTML($htmlSource); 

$xpath = new DOMXPath($doc); 

// We starts from the root element 
$query = '//div[@class= uniqueClass]/span'; 

$entries = $xpath->query($query); 

$spanStyle = $entries->current()->getAttribute('style') 
+1

Merde ma frappe lente, c'est à peu près exactement la même solution que je voulais suggérer :) – Steve

+0

Aha, "xpath". Je ferai les recherches nécessaires à ce sujet. Merci! – Slyder

1
$xpath = new DomXPath($doc); 
$result = $xpath->evaluate('//div[@class=uniqueClass]/span/@style'); 
Questions connexes