<div id="divReportHeader">
<div class="row-fluid">
<div class="SpanSimple" style="width: 569px; height: 26.456692913px;
margin:0px; border: 2px solid black;">
<div style="font-family: 'Times New Roman'; font-size: 26.66px;
text-align: center; vertical-align: text-top;
font-style: italic; font-weight: bold; text-decoration: none;">
Country Details
</div>
</div>
</div>
</div>
我在php变量$headerHtml
中有上面的html,我希望获得分区.SpanSimple
的高度,包括boarder-width
,margin-top
和margin-bottom
。我已经使用simple_html_dom
尝试了以下代码来获取高度,但它没有帮助。
$html = str_get_html($headerHtml);
$e = $html->find("div", 2);
echo $e->height;
任何建议或参考?
答案 0 :(得分:1)
PHP是一种服务器端语言,我怀疑你是否可以用它来获得分区的高度。
但是,您可以使用javascript来执行此操作:
$(".SpanSimple").height()
答案 1 :(得分:1)
我尝试了你的代码,在你的情况下它是:
echo $e->style;
您将获得以下参数:
width: 569px; height: 26.456692913px; margin:0px; border: 2px solid black;
有关详细信息,print_r($e)
或var_dump($e)
会对您有所帮助。
答案 2 :(得分:0)
我弄清楚了,我所做的是使用style
得到了div的属性simple_html_dom
。然后我将该字符串拆分为数组,然后height
元素之后的元素将是高度。
$html = str_get_html($headerHtml);
$e = $html->find("div", 2);
$tempStyleArray = array_map('trim', preg_split( "/[:;]+/", $e->style ));
$tempKey = array_search('height', $tempStyleArray);
$tempHeight = substr($tempStyleArray[$tempKey+1], 0, -2); //removing 'px'
echo $tempHeight;