如何獲取每個元素屬性的寬度和高度?通過DOM或XPATH獲取每個元素屬性的寬度和高度
例如,
$dom = new DOMDocument;
$dom->loadHTML('<div class="item" style="width:295px; height:210px; border:1px solid #000;"></div><div></div>');
foreach($dom->getElementsByTagName('div') as $node)
{
$style = $node->getAttribute('style');
var_dump($style);
}
結果,
string 'width:295px; height:210px; border:1px solid #000;' (length=49)
string '' (length=0)
但這些都是我所追求的,
- 選擇擁有的只有
item
類名的div
。 - 僅得到
295
(寬度)和210
(高度)。
DOM可能嗎?還是XPATH?
編輯:
我似乎設法選擇與現在的類名的股利,
$dom = new DOMDocument;
$dom->loadHTML('<div class="item" style="width:295px; height:210px; border:1px solid #000;"></div><div></div>');
$xpath = new DOMXpath($dom);
foreach ($xpath->query('//*[@class="item"]') as $node) {
$style = $node->getAttribute('style');
var_dump($style);
}
現在,這就是我唯一的後,
得到295
(寬)和210
(身高)。
http://stackoverflow.com/questions/3448005/在xpath-and-xquery/3448050中執行條件#3448050將回答有關XPath抓取具有某個類屬性的div的部分。您需要常規字符串函數或CSS解析器來分解內聯樣式。這不是DOM的域名。 – Gordon
http://stackoverflow.com/questions/4432334/parse-inline-css-values-with-regex回答如何在正文上用正則表達式解析內聯樣式 – Gordon
以獲得具有item屬性的class屬性的div樣式屬性你也可以做'// div [@ class =「item」]/@ style'。這會返回一個DOMAttr。 – Gordon