각 요소의 특성의 너비와 높이를 가져 오는 방법은 무엇입니까? 예를 들어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/implemented-condition-in-xquery/3448050 # 3448050은 특정 클래스 속성으로 div를 잡는 XPath에 대한 부분에 대답 할 것입니다. 인라인 스타일을 분리하려면 일반 문자열 함수 또는 CSS 파서가 필요합니다. 이것은 DOM의 도메인이 아닙니다. – Gordon
http://stackoverflow.com/questions/4432334/parse-inline-css-values-with-regex는 항목의 class 속성을 사용하여 div의 스타일 속성을 가져 오기 위해 sidenote에서 정규식 – Gordon
으로 인라인 스타일을 구문 분석하는 방법에 대한 답변을 제공합니다. 당신은 또한'/ div [@ class = "item"]/@ style'을 할 수 있습니다. 그러면 DOMAttr이 반환됩니다. – Gordon