2013-04-07 39 views
0

我有HTML文本存儲在數據庫的其中一列中。列名是mailbody,表名是inbox_master。使用正則表達式獲取數據 - PHP

mailbody列的一些細胞有一個像下面

<div id="uid-g-uid" style="">2802</div> 

<div id="uid-g-uid"> 
<p class="MsoNormal">6894</p> 
</div> 

<div id="uid-g-uid" style="display:none;"> 
6894</div> 

什麼是這裏常見的是id爲「uid-一個div的div克的uid」。我希望能夠閱讀這個div的html。我知道這可以使用正則表達式來完成,但不知道如何去做。

下面是我已經試過,但不工作的所有時間

/(?<=\<div\ id\=\"uid\-g\-uid\").*?(?=\<\/div\>)/gim 
+4

你應該使用DOM而不是正則表達式。非常容易。 – silkfire 2013-04-07 10:47:57

+0

太棒了!你能建議一些我可以閱讀和學習的文章!沒有任何關於DOM的經驗:-( – Guns 2013-04-07 10:48:55

+1

@ gunjansoni2002〜google是你的朋友。下面是DOM PHP手冊:http://php.net/manual/en/book.dom.php – dave 2013-04-07 10:51:35

回答

4

感謝@sikfire和@戴夫正則表達式,我使用DOM得到了解決。下面是我的工作這讓我

$doc = new DOMDocument(); 
@$doc->loadHTML('The HTML Content Goes here'); 
$d = $doc->getElementById('uid-g-uid'); 
echo 'Value is ' . $d['textContent']; 

Didnt知道這可能是這個簡單!多謝你們!