PHP DOMDocument,查找特定元素

时间:2010-02-21 11:01:48

标签: php html parsing html-parsing domdocument

我希望使用PHP DOMDocument在HTML文档中找到特定元素的特定属性。

具体来说,有一个div具有唯一的类集,并且其中只有一个span。我需要检索该span元素的style属性。

示例:

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

对于这个例子,由于uniqueClass是文档中该类的唯一实例,我需要检索字符串:

  

text-align:center;

2 个答案:

答案 0 :(得分: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 :(得分:1)

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