2015-11-29 59 views
0

我從URL獲取了HTML。我想實現的只是在div內獲取純文本內容。任何想法,如果它可以實現。 的結構將類似於此剝離並獲取頁面上每個嵌套div的文本內容

<div class="first"> 
    <div class="second"> 
    Some content inside second div 
    <div class="third"> 
     Some more content inside third div 
    </div> 
    </div> 
</div> 

當我提取內容我想一個數組像這樣

Array(
[first]=> 
[second]=>Some content inside second div 
[third]=>Some more content inside third div 
); 

我試圖做到這一點使用strip_tags的,但不知何故,我裏面提取純文本內容我很困惑將它拆分並將其添加到數組中。任何人可能有任何想法,請幫助。

+0

[PHP DOMDocument獲取兩個標記之間的文本]的可能重複(http://stackoverflow.com/questions/27674012/php-domdocument-get-text-between-two-sets-of-tags) – Timofey

回答

1
<?php 
function clearArray($arr) { 
    if(is_array($arr)) { 
     foreach($arr as $element) { 
      $cont=trim($element); //make sure to have cr/lf parts removed (difference between line seperator) 
      if(!empty($cont)) { 
       $newArray[]=$cont; 
      } 
     } 
     return $newArray; 
    } 
    return false; 
} 
$content='<div class="first"> 
    <div class="second"> 
    Some content inside second div 
    <div class="third"> 
     Some more content inside third div 
    </div> 
    </div> 
</div>'; 
$strippedContent=strip_tags($content); 
$content=explode("\n", $strippedContent); 
$content=clearArray($content); 
print_r($content); 

這將輸出:

Array ([0] => Some content inside second div [1] => Some more content inside third div) 

如果您檢索從國外頁面這個信息我強烈建議你使用DOM文檔和XPath獲得的元素。

+0

Works像一個魅力...謝謝。 :) – SanketR

相關問題