使用正则表达式获取数据 - PHP

时间:2013-04-07 10:45:45

标签: php regex preg-match preg-match-all

我将html文本存储在数据库的其中一列中。列名是mailbody,表名是inbox_master。

mailbody的某些单元格具有如下所示的div

<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-g-uid”的div。我希望能够阅读这个div的html。我知道这可以使用正则表达式完成,但不知道该怎么做。

以下是我尝试但正常工作的正则表达式

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

2 个答案:

答案 0 :(得分:4)

感谢@sikfire和@dave,我得到了使用DOM的解决方案。以下是我帮助我的工作

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

不知道这可能就是这么简单!谢谢伙计们!

答案 1 :(得分:1)

你也可以在这里查看项目。 PHP DomParser

这可能会有所帮助!

相关问题