2010-02-21 3 views
1

Я ищу, чтобы найти определенный атрибут определенного элемента в документе HTML с помощью PHP DOMDocument.PHP DOMDocument, нахождение определенных элементов

В частности, существует div с уникальным набором классов и только один интервал внутри него. Мне нужно получить атрибут стиля этого элемента span.

Пример:

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

Для этого примера, с uniqueClass быть единственным экземпляром этого класса в документе, я должен был бы получить строку:

выравнивания текста: центр ;

+0

См вопрос http://stackoverflow.com/questions/2571232/parse-html-with-phps-html-domdocument/22345590#22345590 – lokeshsk

ответ

4

Вы должны использовать 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

Черт, мой медленный ввод текста, это почти то же самое решение, которое я собирался предложить :) – Steve

+0

Aha, "xpath". Я сделаю необходимое исследование. Спасибо! – Slyder

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