2014-01-20 64 views
0

我有一個HTML字符串在PHP中,e.g:如何從HTML字符串中獲取DIV元素的子元素?

<div class="my-class"> 
    <div id="el1"> 
     Some content... 
    </div> 
    <div id="el2"> 
     Some more content... 
    </div> 
    <div id="el3"> 
     Even more content... 
    </div> 
</div> 

在簡化,但你的想法。我的真實世界數據實際上有5個子元素,並且分配了不同的類和ID。只需使用類my-class,我需要提取字符串中的子元素(可以逐個或一次全部),並進入一個新的字符串,所以我結束了:

<div id="el1"> 
     Some content... 
    </div> 
    <div id="el2"> 
     Some more content... 
    </div> 
    <div id="el3"> 
     Even more content... 
    </div> 

我已經嘗試使用各種各樣的DOMDocument和DOMXPath命令,大多來自這裏的不同答案,但迄今爲止一直無法實現我所需要的。不幸的是,我在PHP中使用DOM的經驗非常有限。我如何從字符串中獲得沒有父div的元素?

回答

2

非常簡單的解決方案(沒有的DomDocument,E.T):

$str = '<div class="my-class"><div id="el1">....</div>'; 

$mask = '<div class="my-class">'; 
$str = str_replace($mask,'',$str); 
$str = substr($str,0,strlen($str)-6); 
echo $str; 
+0

哈哈,我是用的DOMDocument它過於複雜。謝謝 :)。 – Styphon

0

嘗試......

$str = '<div class="my-class"><div id="el1">....</div>'; 
$mask = '/(<div class="my-class">)|(</div>)/'; 
$str = preg_replace($mask,'',$str); 
echo $str; 
相關問題