使用simple_html_dom获取php中除法的高度

时间:2015-04-21 14:47:57

标签: php html simple-html-dom

  <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-widthmargin-topmargin-bottom。我已经使用simple_html_dom尝试了以下代码来获取高度,但它没有帮助。

$html = str_get_html($headerHtml); 
$e = $html->find("div", 2);
echo $e->height;

任何建议或参考?

3 个答案:

答案 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;